diff options
author | Frederic Guillot <fred@kanboard.net> | 2015-01-30 23:11:30 -0500 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2015-01-30 23:11:30 -0500 |
commit | e1be33805370874849d8db76f3014a145d73fb60 (patch) | |
tree | 531ceba975e9cc51d1e6bec737751cbc1a7caed3 /assets/js/src | |
parent | 746e1a4e3df31cfdaa15101c3fb8f7c4ea1adc46 (diff) |
Experiments with keyboard shortcuts
Diffstat (limited to 'assets/js/src')
-rw-r--r-- | assets/js/src/base.js | 50 | ||||
-rw-r--r-- | assets/js/src/board.js | 12 |
2 files changed, 44 insertions, 18 deletions
diff --git a/assets/js/src/base.js b/assets/js/src/base.js index 3e5b9be6..97ea73b9 100644 --- a/assets/js/src/base.js +++ b/assets/js/src/base.js @@ -12,7 +12,7 @@ var Kanboard = (function() { return false; }, - // Display a popup + // Open a popup on a link click Popover: function(e, callback) { e.preventDefault(); e.stopPropagation(); @@ -24,28 +24,38 @@ var Kanboard = (function() { } if (link) { - $.get(link, function(content) { + Kanboard.OpenPopover(link, callback); + } + }, - $("body").append('<div id="popover-container"><div id="popover-content">' + content + '</div></div>'); + // Display a popup + OpenPopover: function(link, callback) { - $("#popover-container").click(function() { - $(this).remove(); - }); + $.get(link, function(content) { - $("#popover-content").click(function(e) { - e.stopPropagation(); - }); - - $(".close-popover").click(function(e) { - e.preventDefault(); - $('#popover-container').remove(); - }); + $("body").append('<div id="popover-container"><div id="popover-content">' + content + '</div></div>'); - if (callback) { - callback(); - } + $("#popover-container").click(function() { + $(this).remove(); }); - } + + $("#popover-content").click(function(e) { + e.stopPropagation(); + }); + + $(".close-popover").click(function(e) { + e.preventDefault(); + $('#popover-container').remove(); + }); + + Mousetrap.bind("esc", function() { + $('#popover-container').remove(); + }); + + if (callback) { + callback(); + } + }); }, // Return true if the page is visible @@ -181,6 +191,10 @@ var Kanboard = (function() { $(".auto-select").focus(function() { $(this).select(); }); + + Mousetrap.bind("ctrl+enter", function() { + $("form").submit(); + }); } }; diff --git a/assets/js/src/board.js b/assets/js/src/board.js index 98365486..6d49c469 100644 --- a/assets/js/src/board.js +++ b/assets/js/src/board.js @@ -7,6 +7,17 @@ Kanboard.Board = (function() { Kanboard.Popover(e, Kanboard.Init); } + function keyboard_shortcuts() + { + Mousetrap.bind("n", function() { + + Kanboard.OpenPopover( + $(".task-creation-popover").attr('href'), + Kanboard.Init + ); + }); + } + // Setup the board function board_load_events() { @@ -250,6 +261,7 @@ Kanboard.Board = (function() { Init: function() { board_load_events(); filter_load_events(); + keyboard_shortcuts(); } }; |