mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-25 15:05:32 +00:00
Optimize feature list
This commit is contained in:
@@ -151,6 +151,7 @@ iD.Map = function(context) {
|
||||
|
||||
function editOff() {
|
||||
surface.selectAll('.layer *').remove();
|
||||
dispatch.drawn(map);
|
||||
}
|
||||
|
||||
function zoomPan() {
|
||||
|
||||
@@ -38,23 +38,30 @@ iD.ui.FeatureList = function(context) {
|
||||
.on('change.feature-list', drawList);
|
||||
|
||||
context.map()
|
||||
.on('move', drawList);
|
||||
.on('drawn', drawList);
|
||||
|
||||
function features() {
|
||||
var result = [],
|
||||
graph = context.graph(),
|
||||
q = search.property('value').toLowerCase();
|
||||
|
||||
context.intersects(context.extent()).forEach(function(entity) {
|
||||
if (!context.map().editable()) {
|
||||
return result;
|
||||
}
|
||||
|
||||
var entities = context.intersects(context.extent());
|
||||
for (var i = 0; i < entities.length; i++) {
|
||||
var entity = entities[i];
|
||||
|
||||
if (entity.geometry(graph) === 'vertex')
|
||||
continue;
|
||||
|
||||
var preset = context.presets().match(entity, context.graph()),
|
||||
name = iD.util.displayName(entity) || '';
|
||||
|
||||
if (entity.geometry(graph) === 'vertex')
|
||||
return;
|
||||
|
||||
if (q && name.toLowerCase().indexOf(q) === -1 &&
|
||||
preset.name().toLowerCase().indexOf(q) === -1)
|
||||
return;
|
||||
continue;
|
||||
|
||||
result.push({
|
||||
entity: entity,
|
||||
@@ -62,7 +69,10 @@ iD.ui.FeatureList = function(context) {
|
||||
preset: preset,
|
||||
name: name
|
||||
});
|
||||
});
|
||||
|
||||
if (result.length > 200)
|
||||
break;
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user