diff --git a/adminer/static/functions.js b/adminer/static/functions.js index 36c9c7b9..39cc4343 100644 --- a/adminer/static/functions.js +++ b/adminer/static/functions.js @@ -165,16 +165,26 @@ function selectAddRow(field) { * @return boolean */ function textareaKeydown(target, event, tab, button) { - if (tab && event.keyCode == 9 && !event.shiftKey && !event.altKey && !event.ctrlKey && !event.metaKey) { - // inspired by http://pallieter.org/Projects/insertTab/ - if (target.setSelectionRange) { - var start = target.selectionStart; - target.value = target.value.substr(0, start) + '\t' + target.value.substr(target.selectionEnd); - target.setSelectionRange(start + 1, start + 1); - return false; //! still loses focus in Opera, can be solved by handling onblur - } else if (target.createTextRange) { - document.selection.createRange().text = '\t'; - return false; + if (tab && !event.shiftKey && !event.altKey && !event.ctrlKey && !event.metaKey) { + if (event.keyCode == 9) { + // inspired by http://pallieter.org/Projects/insertTab/ + if (target.setSelectionRange) { + var start = target.selectionStart; + target.value = target.value.substr(0, start) + '\t' + target.value.substr(target.selectionEnd); + target.setSelectionRange(start + 1, start + 1); + return false; //! still loses focus in Opera, can be solved by handling onblur + } else if (target.createTextRange) { + document.selection.createRange().text = '\t'; + return false; + } + } else if (event.keyCode == 27) { + var els = target.form.elements; + for (var i=1; i < els.length; i++) { + if (els[i-1] == target) { + els[i].focus(); + break; + } + } } } if (event.ctrlKey && (event.keyCode == 13 || event.keyCode == 10) && !event.altKey && !event.metaKey) { // shiftKey allowed diff --git a/changes.txt b/changes.txt index 8379ea93..b6150993 100644 --- a/changes.txt +++ b/changes.txt @@ -1,3 +1,11 @@ +Adminer 3.2.1-dev: +Respect default database collation (bug #3191489) +Don't export triggers without table (bug #3193489) +Esc to focus next field in Tab textarea (thanks to David Grudl) +Enum editor and textarea Ctrl+Enter working in IE +AJAX forms in Google Chrome +Parse UTF-16 and UTF-8 BOM in all text uploads + Adminer 3.2.0 (released 2011-02-24): Get long texts and slow information by AJAX Most links and forms by AJAX in browsers with support for history.pushState