diff --git a/css/app.css b/css/app.css index e3f1442aa..67e8c35a1 100644 --- a/css/app.css +++ b/css/app.css @@ -655,6 +655,19 @@ a.selected:hover .toggle.icon { background-position: -40px -180px;} } .grid-inner { + 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; } diff --git a/js/id/ui/presetgrid.js b/js/id/ui/presetgrid.js index 57d03b249..e2afed637 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 8ad4ada7a..e877355d6 100644 --- a/js/id/ui/tageditor.js +++ b/js/id/ui/tageditor.js @@ -111,6 +111,7 @@ iD.ui.TagEditor = function() { .attr('class','inspector-inner col12 fillL2').call(tagList, !tagview); tageditor.tags(tags); + event.change(tags); } function drawHead(selection) {