diff --git a/js/id/presetdata.js b/js/id/presetdata.js index aec3e6b4d..8ccee1176 100644 --- a/js/id/presetdata.js +++ b/js/id/presetdata.js @@ -1,7 +1,19 @@ iD.presetData = function() { + + var other = { + name: 'other', + title: 'Other', + icon: 'marker-stroked', + match: { + tags: {}, + type: ['node', 'line', 'area'] + }, + form: [] + }; + var presets = {}, - data = [], - categories = {}, + data = [other], + categories = [], defaults = { node: [], area: [], @@ -16,7 +28,7 @@ iD.presetData = function() { presets.data = function(_) { if (!arguments.length) return data; - data = _.presets; + data = _.presets.concat([other]); categories = _.categories; defaults = _.defaults; return presets; diff --git a/js/id/ui/presetgrid.js b/js/id/ui/presetgrid.js index 2ee182855..67a117223 100644 --- a/js/id/ui/presetgrid.js +++ b/js/id/ui/presetgrid.js @@ -56,7 +56,8 @@ iD.ui.PresetGrid = function() { return iD.util.editDistance(value, a.name) - iD.util.editDistance(value, b.name); }).filter(function(d) { - return iD.util.editDistance(value, d.name) - d.name.length + value.length < 3; + return iD.util.editDistance(value, d.name) - d.name.length + value.length < 3 || + d.name === 'other'; }); } diff --git a/presets/presets.json b/presets/presets.json index 4b1063f31..b3e301f41 100644 --- a/presets/presets.json +++ b/presets/presets.json @@ -13,7 +13,8 @@ "form": [ { "key": "cuisine", - "type": "combo" + "type": "combo", + "indexed": true }, { "key": "internet_access", @@ -645,26 +646,6 @@ "title": "Address" } ] - }, - { - "title": "Other", - "name": "other", - "match": { - "type": ["line", "area"], - "tags": {} - }, - "icon": "square-stroked", - "form": [] - }, - { - "title": "Other", - "name": "other", - "match": { - "type": ["node"], - "tags": {} - }, - "icon": "marker-stroked", - "form": [] } ],