From 588ef09138d10ea81ac54d475c471ae6a7abccda Mon Sep 17 00:00:00 2001 From: Ansis Brammanis Date: Wed, 20 Feb 2013 17:58:08 -0500 Subject: [PATCH] Select filtered preset with Enter --- css/app.css | 6 ++++++ js/id/ui/presetgrid.js | 6 ++++++ js/id/ui/tageditor.js | 1 + 3 files changed, 13 insertions(+) diff --git a/css/app.css b/css/app.css index 225dfd6ee..6afdde7e6 100644 --- a/css/app.css +++ b/css/app.css @@ -677,16 +677,22 @@ a.selected:hover .toggle.icon { background-position: -40px -180px;} margin-bottom: 20px; } +.preset-grid.filtered .grid-entry:first-child .grid-inner, .preset-grid .grid-entry .grid-inner:hover { background: #ececec; } +.preset-grid .grid-entry .grid-inner:hover { + background: inherit; +} + .grid-entry .grid-inner { position: absolute; border: 1px solid #ccc; left: 10px; right: 10px; top: 10px; bottom: 10px; border-radius: 4px; } + .grid-entry .grid-inner .preset-icon-fill.area { position: absolute; opacity: 0.4; diff --git a/js/id/ui/presetgrid.js b/js/id/ui/presetgrid.js index 63c5c6e07..4cb07007a 100644 --- a/js/id/ui/presetgrid.js +++ b/js/id/ui/presetgrid.js @@ -26,7 +26,13 @@ iD.ui.PresetGrid = function() { presets = filter(value); event.message('' + presets.length + ' results for ' + value); grid.call(drawGrid, presets); + grid.classed('filtered', value.length); + }) + .on('change', function() { + var chosen = grid.selectAll('.grid-entry:first-child').datum(); + if (chosen) event.choose(chosen); }); + search.node().focus(); function filter(value) { diff --git a/js/id/ui/tageditor.js b/js/id/ui/tageditor.js index 885f44253..37a61e5f3 100644 --- a/js/id/ui/tageditor.js +++ b/js/id/ui/tageditor.js @@ -113,6 +113,7 @@ iD.ui.TagEditor = function() { var taglistwrap = editorwrap.append('div').call(tagList, !tagview); tageditor.tags(tags); + event.change(tags); } function drawHead(selection) {