diff --git a/web/pgadmin/tools/datagrid/templates/datagrid/js/datagrid.js b/web/pgadmin/tools/datagrid/templates/datagrid/js/datagrid.js index 1cb9c1e..664d7eb 100644 --- a/web/pgadmin/tools/datagrid/templates/datagrid/js/datagrid.js +++ b/web/pgadmin/tools/datagrid/templates/datagrid/js/datagrid.js @@ -243,7 +243,8 @@ define( lineWrapping: true, matchBrackets: true, indentUnit: 4, - mode: "text/x-pgsql" + mode: "text/x-pgsql", + extraKeys: pgAdmin.editor_shortcut_keys }); }, diff --git a/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js b/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js index c364aad..fbef184 100644 --- a/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js +++ b/web/pgadmin/tools/sqleditor/templates/sqleditor/js/sqleditor.js @@ -32,6 +32,36 @@ define( F7_KEY = 118, F8_KEY = 119; + /* + * List of shortcut keys supported for basic + * operations in text editor. Shortcuts are + * consistent irrespective of platform type. + */ + var editor_shortcut_keys = pgAdmin.editor_shortcut_keys = { + // Autocomplete sql command + "Ctrl-Space": "autocomplete", + "Cmd-Space": "autocomplete", + // Select All text + "Ctrl-A": "selectAll", + "Cmd-A": "selectAll", + // Redo text + "Ctrl-Y": "redo", + "Cmd-Y": "redo", + // Undo text + "Ctrl-Z": "undo", + "Cmd-Z": "undo", + // Delete Line + "Ctrl-D": "deleteLine", + "Cmd-D": "deleteLine", + // Go to beginning of line + "Cmd-Left": "goLineStart", + // Go to end of Line + "Cmd-Right": "goLineEnd", + // Move word by word left/right + "Alt-Left": "goGroupLeft", + "Alt-Right": "goGroupRight" + }; + // Defining the backbone model for the sql grid var sqlEditorViewModel = Backbone.Model.extend({ @@ -206,7 +236,8 @@ define( rangeFinder: CodeMirror.fold.combine(CodeMirror.pgadminBeginRangeFinder, CodeMirror.pgadminIfRangeFinder, CodeMirror.pgadminLoopRangeFinder, CodeMirror.pgadminCaseRangeFinder) }, - gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"] + gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"], + extraKeys: editor_shortcut_keys }); // Create main wcDocker instance @@ -248,7 +279,7 @@ define( CodeMirror.pgadminLoopRangeFinder, CodeMirror.pgadminCaseRangeFinder) }, gutters: ["CodeMirror-linenumbers", "CodeMirror-foldgutter"], - extraKeys: {"Ctrl-Space": "autocomplete"} + extraKeys: editor_shortcut_keys }); // Create panels for 'Data Output', 'Explain', 'Messages' and 'History'