summaryrefslogtreecommitdiff
path: root/assets/js/src
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2015-01-30 23:11:30 -0500
committerFrederic Guillot <fred@kanboard.net>2015-01-30 23:11:30 -0500
commite1be33805370874849d8db76f3014a145d73fb60 (patch)
tree531ceba975e9cc51d1e6bec737751cbc1a7caed3 /assets/js/src
parent746e1a4e3df31cfdaa15101c3fb8f7c4ea1adc46 (diff)
Experiments with keyboard shortcuts
Diffstat (limited to 'assets/js/src')
-rw-r--r--assets/js/src/base.js50
-rw-r--r--assets/js/src/board.js12
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();
}
};