mirror of
https://github.com/FoggedLens/iD.git
synced 2026-05-20 23:44:47 +02:00
Prevent name descriptions from matching in preset search
This commit is contained in:
@@ -25,10 +25,18 @@ iD.presets.Collection = function(collection) {
|
||||
return a.searchable !== false;
|
||||
});
|
||||
|
||||
function namePrep(name) {
|
||||
var nameArray = name.split(' - ');
|
||||
if (nameArray.length > 1) {
|
||||
name = nameArray.slice(0, nameArray.length-1).join(' - ');
|
||||
}
|
||||
return name.toLowerCase();
|
||||
}
|
||||
|
||||
var leading_name = _.filter(searchable, function(a) {
|
||||
return leading(a.name().toLowerCase());
|
||||
return leading(namePrep(a.name()));
|
||||
}).sort(function(a, b) {
|
||||
var i = a.name().toLowerCase().indexOf(value) - b.name().toLowerCase().indexOf(value);
|
||||
var i = namePrep(a.name()).indexOf(value) - namePrep(b.name()).indexOf(value);
|
||||
if (i === 0) return a.name().length - b.name().length;
|
||||
else return i;
|
||||
}),
|
||||
@@ -44,7 +52,7 @@ iD.presets.Collection = function(collection) {
|
||||
var levenstein_name = searchable.map(function(a) {
|
||||
return {
|
||||
preset: a,
|
||||
dist: iD.util.editDistance(value, a.name().toLowerCase())
|
||||
dist: iD.util.editDistance(value, namePrep(a.name()))
|
||||
};
|
||||
}).filter(function(a) {
|
||||
return a.dist + Math.min(value.length - a.preset.name().length, 0) < 3;
|
||||
|
||||
Reference in New Issue
Block a user