diff options
Diffstat (limited to 'src/client/keyshortcuts.js')
| -rw-r--r-- | src/client/keyshortcuts.js | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/client/keyshortcuts.js b/src/client/keyshortcuts.js new file mode 100644 index 00000000..92f4182b --- /dev/null +++ b/src/client/keyshortcuts.js @@ -0,0 +1,40 @@ +define(['jquery', 'view/selection'], +function($, selection) +{ +var rz_core; // circular dependency + +function get_rz_core() +{ + if (rz_core === undefined) { + rz_core = require('rz_core'); + } + return rz_core; +} + +function install() { + document.body.onkeydown = function(e) { + var key = ((e.key && String(e.key)) + || (e.charCode && String.fromCharCode(e.charCode)) + || (e.which && String.fromCharCode(e.which))).toLowerCase(); + + if (e.altKey && e.ctrlKey && 'i' === key) { + $('#textanalyser').focus(); + } + if (e.altKey && e.ctrlKey && 'o' === key) { + search.focus(); + } + if (e.ctrlKey && 'a' === key && e.target === document.body) { + selection.update(get_rz_core().main_graph.nodes(), false); + e.preventDefault(); + e.stopPropagation(); + } + if (e.ctrlKey && 'z' === key && e.target.nodeName !== 'INPUT') { + // TODO: rz_core.main_graph.undo(); + } + }; +} +return { + install: install + }; +} +); |
