From ab3340e816755d1d7035ce955af9735fc5941bdd Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Fri, 29 Apr 2016 22:25:06 -0400 Subject: [PATCH] Don't leave edit mode on pressing enter if a combobox is active --- js/id/ui/preset.js | 3 ++- js/lib/d3.combobox.js | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/js/id/ui/preset.js b/js/id/ui/preset.js index 60555e938..02ec1a0f2 100644 --- a/js/id/ui/preset.js +++ b/js/id/ui/preset.js @@ -159,7 +159,8 @@ iD.ui.preset = function(context) { .call(field.input) .selectAll('input') .on('keydown', function() { - if (d3.event.keyCode === 13) { // enter + // if user presses enter, and combobox is not active, accept edits.. + if (d3.event.keyCode === 13 && d3.select('.combobox').empty()) { context.enter(iD.modes.Browse(context)); } }) diff --git a/js/lib/d3.combobox.js b/js/lib/d3.combobox.js index 6304f1b8b..97a2fe3cd 100644 --- a/js/lib/d3.combobox.js +++ b/js/lib/d3.combobox.js @@ -154,6 +154,7 @@ d3.combobox = function() { } function nav(dir) { + if (!suggestions.length) return; idx = Math.max(Math.min(idx + dir, suggestions.length - 1), 0); input.property('value', suggestions[idx].value); render();