Remove original taginfo debouce

and shorten key/value queries to 3 chars to prevent
unnecessary requests. Assumption is that 3 chars is
specific enough
This commit is contained in:
Ansis Brammanis
2013-02-25 16:16:26 -05:00
parent 24ae1ecd63
commit eb1113f058
2 changed files with 16 additions and 7 deletions
+12 -3
View File
@@ -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,
+4 -4
View File
@@ -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() {