2 * @fileoverview Handle shortcuts in various pages
3 * @name Shortcuts handler
9 /* global Console */ // js/console.js
12 * Register key events on load
15 var databaseOp = false;
26 $(document).on('keyup', function (e) {
27 // is a string but is also a boolean according to https://api.jquery.com/prop/
28 if ($(e.target).prop('contenteditable') === 'true' || $(e.target).prop('contenteditable') === true) {
32 if (e.target.nodeName === 'INPUT' || e.target.nodeName === 'TEXTAREA' || e.target.nodeName === 'SELECT') {
36 if (e.keyCode === keyD) {
37 setTimeout(function () {
40 } else if (e.keyCode === keyT) {
41 setTimeout(function () {
46 $(document).on('keydown', function (e) {
47 // is a string but is also a boolean according to https://api.jquery.com/prop/
48 if ($(e.target).prop('contenteditable') === 'true' || $(e.target).prop('contenteditable') === true) {
52 // disable the shortcuts when session has timed out.
53 if ($('#modalOverlay').length > 0) {
56 if (e.ctrlKey && e.altKey && e.keyCode === keyC) {
60 if (e.ctrlKey && e.keyCode === keyK) {
65 if (e.target.nodeName === 'INPUT' || e.target.nodeName === 'TEXTAREA' || e.target.nodeName === 'SELECT') {
71 if (e.keyCode === keyD) {
73 } else if (e.keyCode === keyK) {
76 } else if (e.keyCode === keyS) {
77 if (databaseOp === true) {
78 isTable = CommonParams.get('table');
79 isDb = CommonParams.get('db');
80 if (isDb && ! isTable) {
81 $('.tab .ic_b_props').first().trigger('click');
83 } else if (tableOp === true) {
84 isTable = CommonParams.get('table');
85 isDb = CommonParams.get('db');
86 if (isDb && isTable) {
87 $('.tab .ic_b_props').first().trigger('click');
90 $('#pma_navigation_settings_icon').trigger('click');
92 } else if (e.keyCode === keyF) {
93 if (databaseOp === true) {
94 isTable = CommonParams.get('table');
95 isDb = CommonParams.get('db');
96 if (isDb && ! isTable) {
97 $('.tab .ic_b_search').first().trigger('click');
99 } else if (tableOp === true) {
100 isTable = CommonParams.get('table');
101 isDb = CommonParams.get('db');
102 if (isDb && isTable) {
103 $('.tab .ic_b_search').first().trigger('click');
106 } else if (e.keyCode === keyT) {
108 } else if (e.keyCode === keyE) {
109 $('.ic_b_export').first().trigger('click');
110 } else if (e.keyCode === keyBackSpace) {
111 window.history.back();
112 } else if (e.keyCode === keyH) {
113 $('.ic_b_home').first().trigger('click');