1/* vim: set expandtab sw=4 ts=4 sts=4: */ 2/** 3 * @fileoverview Handle shortcuts in various pages 4 * @name Shortcuts handler 5 * 6 * @requires jQuery 7 * @requires jQueryUI 8 */ 9 10/** 11 * Register key events on load 12 */ 13$(document).ready(function () { 14 var databaseOp = false; 15 var tableOp = false; 16 var keyD = 68; 17 var keyT = 84; 18 var keyK = 75; 19 var keyS = 83; 20 var keyF = 70; 21 var keyE = 69; 22 var keyH = 72; 23 var keyC = 67; 24 var keyBackSpace = 8; 25 $(document).on('keyup', function (e) { 26 if (e.target.nodeName === 'INPUT' || e.target.nodeName === 'TEXTAREA' || e.target.nodeName === 'SELECT') { 27 return; 28 } 29 30 if (e.keyCode === keyD) { 31 setTimeout(function () { 32 databaseOp = false; 33 }, 2000); 34 } else if (e.keyCode === keyT) { 35 setTimeout(function () { 36 tableOp = false; 37 }, 2000); 38 } 39 }); 40 $(document).on('keydown', function (e) { 41 if (e.ctrlKey && e.altKey && e.keyCode === keyC) { 42 PMA_console.toggle(); 43 } 44 45 if (e.ctrlKey && e.keyCode === keyK) { 46 e.preventDefault(); 47 PMA_console.toggle(); 48 } 49 50 if (e.target.nodeName === 'INPUT' || e.target.nodeName === 'TEXTAREA' || e.target.nodeName === 'SELECT') { 51 return; 52 } 53 54 var isTable; 55 var isDb; 56 if (e.keyCode === keyD) { 57 databaseOp = true; 58 } else if (e.keyCode === keyK) { 59 e.preventDefault(); 60 PMA_console.toggle(); 61 } else if (e.keyCode === keyS) { 62 if (databaseOp === true) { 63 isTable = PMA_commonParams.get('table'); 64 isDb = PMA_commonParams.get('db'); 65 if (isDb && ! isTable) { 66 $('.tab .ic_b_props').first().trigger('click'); 67 } 68 } else if (tableOp === true) { 69 isTable = PMA_commonParams.get('table'); 70 isDb = PMA_commonParams.get('db'); 71 if (isDb && isTable) { 72 $('.tab .ic_b_props').first().trigger('click'); 73 } 74 } else { 75 $('#pma_navigation_settings_icon').trigger('click'); 76 } 77 } else if (e.keyCode === keyF) { 78 if (databaseOp === true) { 79 isTable = PMA_commonParams.get('table'); 80 isDb = PMA_commonParams.get('db'); 81 if (isDb && ! isTable) { 82 $('.tab .ic_b_search').first().trigger('click'); 83 } 84 } else if (tableOp === true) { 85 isTable = PMA_commonParams.get('table'); 86 isDb = PMA_commonParams.get('db'); 87 if (isDb && isTable) { 88 $('.tab .ic_b_search').first().trigger('click'); 89 } 90 } 91 } else if (e.keyCode === keyT) { 92 tableOp = true; 93 } else if (e.keyCode === keyE) { 94 $('.ic_b_export').first().trigger('click'); 95 } else if (e.keyCode === keyBackSpace) { 96 window.history.back(); 97 } else if (e.keyCode === keyH) { 98 $('.ic_b_home').first().trigger('click'); 99 } 100 }); 101});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.