Translation update done using Pootle.
[phpmyadmin.git] / js / keyhandler.js
blob63a13facfdc55eb06cd23251f9d4e0b7c0108cab
1 /**
2 * Allows moving around inputs/select by Ctrl+arrows
4 * @param object event data
5 */
6 function onKeyDownArrowsHandler(e)
8 e = e||window.event;
9 var o = (e.srcElement||e.target);
10 if (!o) return;
11 if (o.tagName != "TEXTAREA" && o.tagName != "INPUT" && o.tagName != "SELECT") return;
12 if (navigator.userAgent.toLowerCase().indexOf('applewebkit/') != -1) {
13 if (e.ctrlKey || e.shiftKey || !e.altKey) return;
14 } else {
15 if (!e.ctrlKey || e.shiftKey || e.altKey) return;
17 if (!o.id) return;
19 var pos = o.id.split("_");
20 if (pos[0] != "field" || typeof pos[2] == "undefined") return;
22 var x = pos[2], y=pos[1];
24 // skip non existent fields
25 for (i=0; i<10; i++)
27 if (switch_movement) {
28 switch(e.keyCode) {
29 case 38: x--; break; // up
30 case 40: x++; break; // down
31 case 37: y--; break; // left
32 case 39: y++; break; // right
33 default: return;
35 } else {
36 switch(e.keyCode) {
37 case 38: y--; break; // up
38 case 40: y++; break; // down
39 case 37: x--; break; // left
40 case 39: x++; break; // right
41 default: return;
45 var id = "field_" + y + "_" + x;
46 var nO = document.getElementById(id);
47 if (!nO) {
48 var id = "field_" + y + "_" + x + "_0";
49 var nO = document.getElementById(id);
51 if (nO) break;
54 if (!nO) return;
55 nO.focus();
56 if (nO.tagName != 'SELECT') {
57 nO.select();
59 e.returnValue = false;