/* vim: set expandtab sw=4 ts=4 sts=4: */ // global var that holds: 0- if ctrl key is not pressed 1- if ctrl key is pressed var ctrlKeyHistory = 0; /** * Allows moving around inputs/select by Ctrl+arrows * * @param object event data */ function onKeyDownArrowsHandler (e) { e = e || window.event; var o = (e.srcElement || e.target); if (!o) { return; } if (o.tagName !== 'TEXTAREA' && o.tagName !== 'INPUT' && o.tagName !== 'SELECT') { return; } if ((e.which !== 17) && (e.which !== 37) && (e.which !== 38) && (e.which !== 39) && (e.which !== 40)) { return; } if (!o.id) { return; } if (e.type === 'keyup') { if (e.which === 17) { ctrlKeyHistory = 0; } return; } else if (e.type === 'keydown') { if (e.which === 17) { ctrlKeyHistory = 1; } } if (ctrlKeyHistory !== 1) { return; } e.preventDefault(); var pos = o.id.split('_'); if (pos[0] !== 'field' || typeof pos[2] === 'undefined') { return; } var x = pos[2]; var y = pos[1]; switch (e.keyCode) { case 38: // up y--; break; case 40: // down y++; break; case 37: // left x--; break; case 39: // right x++; break; default: return; } var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox/') > -1; var id = 'field_' + y + '_' + x; var nO = document.getElementById(id); if (! nO) { id = 'field_' + y + '_' + x + '_0'; nO = document.getElementById(id); } // skip non existent fields if (! nO) { return; } // for firefox select tag var lvalue = o.selectedIndex; var nOvalue = nO.selectedIndex; nO.focus(); if (is_firefox) { var ffcheck = 0; var ffversion; for (ffversion = 3 ; ffversion < 25 ; ffversion++) { var is_firefox_v_24 = navigator.userAgent.toLowerCase().indexOf('firefox/' + ffversion) > -1; if (is_firefox_v_24) { ffcheck = 1; break; } } if (ffcheck === 1) { if (e.which === 38 || e.which === 37) { nOvalue++; } else if (e.which === 40 || e.which === 39) { nOvalue--; } nO.selectedIndex = nOvalue; } else { if (e.which === 38 || e.which === 37) { lvalue++; } else if (e.which === 40 || e.which === 39) { lvalue--; } o.selectedIndex = lvalue; } } if (nO.tagName !== 'SELECT') { nO.select(); } e.returnValue = false; } AJAX.registerTeardown('keyhandler.js', function () { $(document).off('keydown keyup', '#table_columns'); $(document).off('keydown keyup', 'table.insertRowTable'); }); AJAX.registerOnload('keyhandler.js', function () { $(document).on('keydown keyup', '#table_columns', function (event) { onKeyDownArrowsHandler(event.originalEvent); }); $(document).on('keydown keyup', 'table.insertRowTable', function (event) { onKeyDownArrowsHandler(event.originalEvent); }); });
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
codemirror | Folder | 0755 |
|
|
designer | Folder | 0755 |
|
|
jqplot | Folder | 0755 |
|
|
transformations | Folder | 0755 |
|
|
vendor | Folder | 0755 |
|
|
ajax.js | File | 30.51 KB | 0644 |
|
chart.js | File | 18.08 KB | 0644 |
|
common.js | File | 18.75 KB | 0644 |
|
config.js | File | 26.88 KB | 0644 |
|
console.js | File | 55.94 KB | 0644 |
|
cross_framing_protection.js | File | 471 B | 0644 |
|
db_central_columns.js | File | 10.86 KB | 0644 |
|
db_multi_table_query.js | File | 7.85 KB | 0644 |
|
db_operations.js | File | 6.21 KB | 0644 |
|
db_qbe.js | File | 2.47 KB | 0644 |
|
db_query_generator.js | File | 4.39 KB | 0644 |
|
db_search.js | File | 8.56 KB | 0644 |
|
db_structure.js | File | 15.43 KB | 0644 |
|
db_tracking.js | File | 3.57 KB | 0644 |
|
doclinks.js | File | 20.16 KB | 0644 |
|
error_report.js | File | 10.58 KB | 0644 |
|
export.js | File | 34.24 KB | 0644 |
|
export_output.js | File | 289 B | 0644 |
|
functions.js | File | 171.32 KB | 0644 |
|
gis_data_editor.js | File | 14.42 KB | 0644 |
|
import.js | File | 5.51 KB | 0644 |
|
indexes.js | File | 27.01 KB | 0644 |
|
keyhandler.js | File | 3.25 KB | 0644 |
|
makegrid.js | File | 96.42 KB | 0644 |
|
menu-resizer.js | File | 8.12 KB | 0644 |
|
messages.php | File | 40.42 KB | 0644 |
|
microhistory.js | File | 11.32 KB | 0644 |
|
multi_column_sort.js | File | 3.21 KB | 0644 |
|
navigation.js | File | 59.35 KB | 0644 |
|
normalization.js | File | 27.47 KB | 0644 |
|
page_settings.js | File | 1.71 KB | 0644 |
|
replication.js | File | 3.13 KB | 0644 |
|
rte.js | File | 46.57 KB | 0644 |
|
server_databases.js | File | 5.56 KB | 0644 |
|
server_plugins.js | File | 495 B | 0644 |
|
server_privileges.js | File | 18.58 KB | 0644 |
|
server_status_advisor.js | File | 3.63 KB | 0644 |
|
server_status_monitor.js | File | 84.47 KB | 0644 |
|
server_status_processes.js | File | 6.17 KB | 0644 |
|
server_status_queries.js | File | 1.13 KB | 0644 |
|
server_status_sorter.js | File | 1.96 KB | 0644 |
|
server_status_variables.js | File | 3.19 KB | 0644 |
|
server_user_groups.js | File | 1.34 KB | 0644 |
|
server_variables.js | File | 4.17 KB | 0644 |
|
shortcuts_handler.js | File | 3.19 KB | 0644 |
|
sql.js | File | 37.76 KB | 0644 |
|
tbl_change.js | File | 27.89 KB | 0644 |
|
tbl_chart.js | File | 13.8 KB | 0644 |
|
tbl_find_replace.js | File | 1.54 KB | 0644 |
|
tbl_gis_visualization.js | File | 10.7 KB | 0644 |
|
tbl_operations.js | File | 13.88 KB | 0644 |
|
tbl_relation.js | File | 8.83 KB | 0644 |
|
tbl_select.js | File | 15.44 KB | 0644 |
|
tbl_structure.js | File | 19.41 KB | 0644 |
|
tbl_tracking.js | File | 3.85 KB | 0644 |
|
tbl_zoom_plot_jqplot.js | File | 21.81 KB | 0644 |
|
u2f.js | File | 2.47 KB | 0644 |
|
whitelist.php | File | 1.26 KB | 0644 |
|