1
AJAX.registerTeardown("keyhandler.js",function(){$("#table_columns").die("keydown keyup");$("table.insertRowTable").die("keydown keyup")});AJAX.registerOnload("keyhandler.js",function(){$("#table_columns").live("keydown keyup",function(a){onKeyDownArrowsHandler(a.originalEvent)});$("table.insertRowTable").live("keydown keyup",function(a){onKeyDownArrowsHandler(a.originalEvent)})});function onKeyDownArrowsHandler(d){d=d||window.event;var f=(d.srcElement||d.target);if(!f){return}if(f.tagName!="TEXTAREA"&&f.tagName!="INPUT"&&f.tagName!="SELECT"){return}console.log(d);if(navigator.userAgent.toLowerCase().indexOf("applewebkit/")!=-1){if(d.ctrlKey||d.shiftKey||!d.altKey){return}}else{if(!d.ctrlKey||d.shiftKey||d.altKey){return}}if(!f.id){return}var i=f.id.split("_");if(i[0]!="field"||typeof i[2]=="undefined"){return}var b=i[2],h=i[1];var c=null;switch(d.keyCode){case 38:h--;break;case 40:h++;break;case 37:b--;break;case 39:b++;break;default:return}var a=navigator.userAgent.toLowerCase().indexOf("firefox/")>-1;if(a&&d.type=="keyup"){f.selectedIndex=window["selectedIndex_"+f.id]}var g="field_"+h+"_"+b;c=document.getElementById(g);if(!c){g="field_"+h+"_"+b+"_0";c=document.getElementById(g)}if(!c){return}if(d.type=="keydown"){c.focus();if(a){window["selectedIndex_"+c.id]=c.selectedIndex}}if(c.tagName!="SELECT"){c.select()}d.returnValue=false};
b'\\ No newline at end of file'
1
/* vim: set expandtab sw=4 ts=4 sts=4: */
3
* Allows moving around inputs/select by Ctrl+arrows
5
* @param object event data
8
AJAX.registerTeardown('keyhandler.js', function() {
9
$('#table_columns').die('keydown keyup');
10
$('table.insertRowTable').die('keydown keyup');
13
AJAX.registerOnload('keyhandler.js', function() {
14
$('#table_columns').live('keydown keyup', function(event) {
15
onKeyDownArrowsHandler(event.originalEvent);
17
$('table.insertRowTable').live('keydown keyup', function(event) {
18
onKeyDownArrowsHandler(event.originalEvent);
22
function onKeyDownArrowsHandler(e)
25
var o = (e.srcElement||e.target);
29
if (o.tagName != "TEXTAREA" && o.tagName != "INPUT" && o.tagName != "SELECT") {
32
if (navigator.userAgent.toLowerCase().indexOf('applewebkit/') != -1) {
33
if (e.ctrlKey || e.shiftKey || !e.altKey) {
37
if (!e.ctrlKey || e.shiftKey || e.altKey) {
45
var pos = o.id.split("_");
46
if (pos[0] != "field" || typeof pos[2] == "undefined") {
50
var x = pos[2], y = pos[1];
75
var is_firefox = navigator.userAgent.toLowerCase().indexOf("firefox/") > -1;
77
// restore selected index, bug #3799
78
if (is_firefox && e.type == "keyup") {
79
o.selectedIndex = window["selectedIndex_" + o.id];
82
var id = "field_" + y + "_" + x;
83
nO = document.getElementById(id);
85
id = "field_" + y + "_" + x + "_0";
86
nO = document.getElementById(id);
89
// skip non existent fields
93
if (e.type == "keydown") {
96
window["selectedIndex_" + nO.id] = nO.selectedIndex;
99
if (nO.tagName != 'SELECT') {
102
e.returnValue = false;