1 /* vim: set expandtab sw=4 ts=4 sts=4: */
3 * @fileoverview Handle shortcuts in various pages
4 * @name Shortcuts handler
10 /* global Console */ // js/console.js
13 * Register key events on load
16 var databaseOp = false;
27 $(document).on('keyup', function (e) {
28 // is a string but is also a boolean according to https://api.jquery.com/prop/
29 if ($(e.target).prop('contenteditable') === 'true' || $(e.target).prop('contenteditable') === true) {
33 if (e.target.nodeName === 'INPUT' || e.target.nodeName === 'TEXTAREA' || e.target.nodeName === 'SELECT') {
37 if (e.keyCode === keyD) {
38 setTimeout(function () {
41 } else if (e.keyCode === keyT) {
42 setTimeout(function () {
47 $(document).on('keydown', function (e) {
48 // is a string but is also a boolean according to https://api.jquery.com/prop/
49 if ($(e.target).prop('contenteditable') === 'true' || $(e.target).prop('contenteditable') === true) {
53 // disable the shortcuts when session has timed out.
54 if ($('#modalOverlay').length > 0) {
57 if (e.ctrlKey && e.altKey && e.keyCode === keyC) {
61 if (e.ctrlKey && e.keyCode === keyK) {
66 if (e.target.nodeName === 'INPUT' || e.target.nodeName === 'TEXTAREA' || e.target.nodeName === 'SELECT') {
72 if (e.keyCode === keyD) {
74 } else if (e.keyCode === keyK) {
77 } else if (e.keyCode === keyS) {
78 if (databaseOp === true) {
79 isTable = CommonParams.get('table');
80 isDb = CommonParams.get('db');
81 if (isDb && ! isTable) {
82 $('.tab .ic_b_props').first().trigger('click');
84 } else if (tableOp === true) {
85 isTable = CommonParams.get('table');
86 isDb = CommonParams.get('db');
87 if (isDb && isTable) {
88 $('.tab .ic_b_props').first().trigger('click');
91 $('#pma_navigation_settings_icon').trigger('click');
93 } else if (e.keyCode === keyF) {
94 if (databaseOp === true) {
95 isTable = CommonParams.get('table');
96 isDb = CommonParams.get('db');
97 if (isDb && ! isTable) {
98 $('.tab .ic_b_search').first().trigger('click');
100 } else if (tableOp === true) {
101 isTable = CommonParams.get('table');
102 isDb = CommonParams.get('db');
103 if (isDb && isTable) {
104 $('.tab .ic_b_search').first().trigger('click');
107 } else if (e.keyCode === keyT) {
109 } else if (e.keyCode === keyE) {
110 $('.ic_b_export').first().trigger('click');
111 } else if (e.keyCode === keyBackSpace) {
112 window.history.back();
113 } else if (e.keyCode === keyH) {
114 $('.ic_b_home').first().trigger('click');