From 64a20793ec21cf8fec3b557f9d3ffe7763afd595 Mon Sep 17 00:00:00 2001 From: Florian Staudacher Date: Mon, 18 Jun 2012 13:49:03 +0200 Subject: [PATCH] don't open comment pane on show page, if a modifier key is pressed --- app/assets/javascripts/app/pages/post-viewer.js | 16 +++++++++++----- vendor/assets/javascripts/keycodes.js | 1 + 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/app/assets/javascripts/app/pages/post-viewer.js b/app/assets/javascripts/app/pages/post-viewer.js index 4793baaec..fddd01f19 100644 --- a/app/assets/javascripts/app/pages/post-viewer.js +++ b/app/assets/javascripts/app/pages/post-viewer.js @@ -62,9 +62,9 @@ app.pages.PostViewer = app.views.Base.extend({ if($(evt.target).is("textarea")) { return } switch(evt.keyCode) { - case 37: + case KEYCODES.LEFT: app.router.navigate(model.get("next_post"), true); break; - case 39: + case KEYCODES.RIGHT: app.router.navigate(model.get("previous_post"), true); break; default: break; @@ -78,19 +78,25 @@ app.pages.PostViewer = app.views.Base.extend({ commentAnywhere : function(evt) { /* ignore enter, space bar, arrow keys */ - if(_.include([13, 32, 37, 38, 39, 40], evt.keyCode)) { return } + if(_.include([KEYCODES.RETURN, KEYCODES.SPACE, KEYCODES.LEFT, + KEYCODES.UP, KEYCODES.RIGHT, KEYCODES.DOWN], evt.keyCode) || + this.modifierPressed(evt) ) { return } this.interactionsView.invokePane(); $('#new-post-comment textarea').focus(); }, invokePane : function(evt) { - if(evt.keyCode != 32) { return } + if(evt.keyCode != KEYCODES.SPACE) { return } this.interactionsView.invokePane(); }, closePane : function(evt) { - if(evt.keyCode != 27) { return } + if(evt.keyCode != KEYCODES.ESC) { return } this.interactionsView.hidePane(); + }, + + modifierPressed: function(evt) { + return (evt.altKey || evt.ctrlKey || evt.shiftKey); } }); diff --git a/vendor/assets/javascripts/keycodes.js b/vendor/assets/javascripts/keycodes.js index ae6c143db..10f081726 100644 --- a/vendor/assets/javascripts/keycodes.js +++ b/vendor/assets/javascripts/keycodes.js @@ -12,6 +12,7 @@ CAPSLOCK : 20, ESCAPE : 27, ESC : 27, SPACEBAR : 32, +SPACE: 32, PAGEUP : 33, PAGEDOWN : 34, END : 35,