diff --git a/js/id/services/taginfo.js b/js/id/services/taginfo.js index 461afe708..1db8b8877 100644 --- a/js/id/services/taginfo.js +++ b/js/id/services/taginfo.js @@ -35,6 +35,15 @@ iD.taginfo = function() { return _.omit(parameters, 'geometry'); } + function shorten(parameters) { + if (!parameters.query) { + delete parameters.query; + } else { + parameters.query = parameters.query.slice(0, 3); + } + return parameters; + } + function popularKeys(parameters) { var pop_field = 'count_all'; if (parameters.filter) pop_field = 'count_' + parameters.filter; @@ -68,10 +77,10 @@ iD.taginfo = function() { } taginfo.keys = function(parameters, callback) { - parameters = clean(setSort(setFilter(parameters))); + parameters = clean(shorten(setSort(setFilter(parameters)))); request(endpoint + 'keys/all?' + iD.util.qsString(_.extend({ - rp: 6, + rp: 10, sortname: 'count_all', sortorder: 'desc', page: 1 @@ -82,7 +91,7 @@ iD.taginfo = function() { }; taginfo.values = function(parameters, callback) { - parameters = clean(setSort(setFilter(parameters))); + parameters = clean(shorten(setSort(setFilter(parameters)))); request(endpoint + 'key/values?' + iD.util.qsString(_.extend({ rp: 20, diff --git a/js/id/ui/taglist.js b/js/id/ui/taglist.js index 9adcab563..58370f3ca 100644 --- a/js/id/ui/taglist.js +++ b/js/id/ui/taglist.js @@ -212,18 +212,18 @@ iD.ui.Taglist = function() { var keyinput = key.select('input'); key.call(d3.combobox() - .fetcher(_.debounce(function(_, __, callback) { + .fetcher(function(_, __, callback) { taginfo.keys({ geometry: geometry, query: keyinput.property('value') }, function(err, data) { if (!err) callback(sort(keyinput.property('value'), data)); }); - }, 500))); + })); var valueinput = value.select('input'); value.call(d3.combobox() - .fetcher(_.debounce(function(_, __, callback) { + .fetcher(function(_, __, callback) { taginfo.values({ key: keyinput.property('value'), geometry: geometry, @@ -231,7 +231,7 @@ iD.ui.Taglist = function() { }, function(err, data) { if (!err) callback(sort(valueinput.property('value'), data)); }); - }, 500))); + })); } function focusNewKey() {