Treat Meta key same as Ctrl (bug #3599405)
This commit is contained in:
parent
8bf02f2ce1
commit
b5ad37ff2b
|
@ -1,2 +1,2 @@
|
|||
<?php
|
||||
$VERSION = "3.6.2";
|
||||
$VERSION = "3.6.3-dev";
|
||||
|
|
|
@ -81,7 +81,7 @@ function loginDriver(driver) {
|
|||
* @return boolean
|
||||
*/
|
||||
function textareaKeydown(target, event) {
|
||||
if (!event.shiftKey && !event.altKey && !event.ctrlKey && !event.metaKey) {
|
||||
if (!event.shiftKey && !event.altKey && !isCtrl(event)) {
|
||||
if (event.keyCode == 9) { // 9 - Tab
|
||||
// inspired by http://pallieter.org/Projects/insertTab/
|
||||
if (target.setSelectionRange) {
|
||||
|
|
|
@ -293,6 +293,15 @@ function selectSearch(name) {
|
|||
}
|
||||
|
||||
|
||||
/** Check if Ctrl key (Command key on Mac) was pressed
|
||||
* @param KeyboardEvent|MouseEvent
|
||||
* @return boolean
|
||||
*/
|
||||
function isCtrl(event) {
|
||||
return (event.ctrlKey || event.metaKey) && !event.altKey; // shiftKey allowed
|
||||
}
|
||||
|
||||
|
||||
|
||||
/** Send form by Ctrl+Enter on <select> and <textarea>
|
||||
* @param KeyboardEvent
|
||||
|
@ -301,7 +310,7 @@ function selectSearch(name) {
|
|||
*/
|
||||
function bodyKeydown(event, button) {
|
||||
var target = event.target || event.srcElement;
|
||||
if (event.ctrlKey && (event.keyCode == 13 || event.keyCode == 10) && !event.altKey && !event.metaKey && /select|textarea|input/i.test(target.tagName)) { // 13|10 - Enter, shiftKey allowed
|
||||
if (isCtrl(event) && (event.keyCode == 13 || event.keyCode == 10) && /select|textarea|input/i.test(target.tagName)) { // 13|10 - Enter
|
||||
target.blur();
|
||||
if (button) {
|
||||
target.form[button].click();
|
||||
|
@ -318,10 +327,10 @@ function bodyKeydown(event, button) {
|
|||
*/
|
||||
function bodyClick(event) {
|
||||
var target = event.target || event.srcElement;
|
||||
if ((event.ctrlKey || event.shiftKey) && target.type == 'submit' && /input/i.test(target.tagName)) {
|
||||
if ((isCtrl(event) || event.shiftKey) && target.type == 'submit' && /input/i.test(target.tagName)) {
|
||||
target.form.target = '_blank';
|
||||
setTimeout(function () {
|
||||
// if (event.ctrlKey) { focus(); } doesn't work
|
||||
// if (isCtrl(event)) { focus(); } doesn't work
|
||||
target.form.target = '';
|
||||
}, 0);
|
||||
}
|
||||
|
@ -334,7 +343,7 @@ function bodyClick(event) {
|
|||
* @return boolean
|
||||
*/
|
||||
function editingKeydown(event) {
|
||||
if ((event.keyCode == 40 || event.keyCode == 38) && event.ctrlKey && !event.altKey && !event.metaKey) { // 40 - Down, 38 - Up, shiftKey allowed
|
||||
if ((event.keyCode == 40 || event.keyCode == 38) && isCtrl(event)) { // 40 - Down, 38 - Up
|
||||
var target = event.target || event.srcElement;
|
||||
var sibling = (event.keyCode == 40 ? 'nextSibling' : 'previousSibling');
|
||||
var el = target.parentNode.parentNode[sibling];
|
||||
|
@ -416,7 +425,7 @@ function ajaxSetHtml(url) {
|
|||
*/
|
||||
function selectClick(td, event, text, warning) {
|
||||
var target = event.target || event.srcElement;
|
||||
if (!event.ctrlKey || /input|textarea/i.test(td.firstChild.tagName) || /^a$/i.test(target.tagName)) {
|
||||
if (!isCtrl(event) || /input|textarea/i.test(td.firstChild.tagName) || /^a$/i.test(target.tagName)) {
|
||||
return;
|
||||
}
|
||||
if (warning) {
|
||||
|
@ -429,7 +438,7 @@ function selectClick(td, event, text, warning) {
|
|||
if (!event) {
|
||||
event = window.event;
|
||||
}
|
||||
if (event.keyCode == 27 && !(event.ctrlKey || event.shiftKey || event.altKey || event.metaKey)) { // 27 - Esc
|
||||
if (event.keyCode == 27 && !event.shiftKey && !event.altKey && !isCtrl(event)) { // 27 - Esc
|
||||
td.innerHTML = original;
|
||||
}
|
||||
};
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
Adminer 3.6.3-dev:
|
||||
Treat Meta key same as Ctrl
|
||||
|
||||
Adminer 3.6.2 (released 2012-12-21):
|
||||
Edit values by Ctrl+click instead of double click
|
||||
Don't select row on double click
|
||||
|
|
|
@ -8,7 +8,7 @@ function selectFieldChange(form) {
|
|||
|
||||
function whisperClick(event, field) {
|
||||
var el = event.target || event.srcElement;
|
||||
if (/^a$/i.test(el.tagName) && !(event.button || event.ctrlKey || event.shiftKey || event.altKey || event.metaKey)) {
|
||||
if (/^a$/i.test(el.tagName) && !(event.button || event.shiftKey || event.altKey || isCtrl(event))) {
|
||||
field.value = el.firstChild.data;
|
||||
field.previousSibling.value = decodeURIComponent(el.href.replace(/.*=/, ''));
|
||||
field.nextSibling.style.display = 'none';
|
||||
|
|
Loading…
Reference in a new issue