From 522084a504bae98a0002694b11797a984f72c777 Mon Sep 17 00:00:00 2001 From: Paulo Reis Date: Wed, 27 Jun 2018 12:21:26 +0100 Subject: [PATCH] Add Keys enum; use it when detecting keystrokes in the input suggestions component. --- .../coffee/components/inputSuggestions.coffee | 4 ++-- services/web/public/coffee/main.coffee | 1 + services/web/public/coffee/main/keys.coffee | 16 ++++++++++++++++ 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 services/web/public/coffee/main/keys.coffee diff --git a/services/web/public/coffee/components/inputSuggestions.coffee b/services/web/public/coffee/components/inputSuggestions.coffee index a7f36a22a3..69b414264a 100644 --- a/services/web/public/coffee/components/inputSuggestions.coffee +++ b/services/web/public/coffee/components/inputSuggestions.coffee @@ -1,7 +1,7 @@ define [ "base" ], (App) -> - inputSuggestionsController = ($scope, $element, $attrs) -> + inputSuggestionsController = ($scope, $element, $attrs, Keys) -> ctrl = @ ctrl.showHint = false ctrl.hasFocus = false @@ -14,7 +14,7 @@ define [ ctrl.suggestion = null ctrl.onBlur() ctrl.handleKeyDown = ($event) -> - if ($event.which == 9 or $event.which == 13) and ctrl.suggestion? and ctrl.suggestion != "" + if ($event.which == Keys.TAB or $event.which == Keys.ENTER) and ctrl.suggestion? and ctrl.suggestion != "" $event.preventDefault() ctrl.localNgModel += ctrl.suggestion ctrl.suggestion = null diff --git a/services/web/public/coffee/main.coffee b/services/web/public/coffee/main.coffee index a52a490491..80e637d705 100644 --- a/services/web/public/coffee/main.coffee +++ b/services/web/public/coffee/main.coffee @@ -22,6 +22,7 @@ define [ "main/learn" "main/affiliations/controllers/UserAffiliationsController" "main/affiliations/factories/UserAffiliationsDataService" + "main/keys" "analytics/AbTestingManager" "directives/asyncForm" "directives/stopPropagation" diff --git a/services/web/public/coffee/main/keys.coffee b/services/web/public/coffee/main/keys.coffee new file mode 100644 index 0000000000..987c41fd1d --- /dev/null +++ b/services/web/public/coffee/main/keys.coffee @@ -0,0 +1,16 @@ +define [ + "base" +], (App) -> + App.constant "Keys", + ENTER : 13 + TAB : 9 + ESCAPE : 27 + SPACE : 32 + BACKSPACE : 8 + UP : 38 + DOWN : 40 + LEFT : 37 + RIGHT : 39 + PERIOD : 190 + COMMA : 188 + END : 35