mirror of
https://github.com/FoggedLens/iD.git
synced 2026-05-18 14:45:12 +02:00
cache invalidation and naming things
This commit is contained in:
@@ -97,6 +97,7 @@ window.iD = function () {
|
||||
|
||||
context.flush = function() {
|
||||
connection.flush();
|
||||
features.reset();
|
||||
history.reset();
|
||||
return context;
|
||||
};
|
||||
|
||||
@@ -267,16 +267,20 @@ iD.Features = function(context) {
|
||||
return _stats;
|
||||
};
|
||||
|
||||
features.reset = function(d) {
|
||||
features.clear = function(d) {
|
||||
for (var i = 0, imax = d.length; i !== imax; i++) {
|
||||
features.resetEntity(d[i]);
|
||||
features.clearEntity(d[i]);
|
||||
}
|
||||
};
|
||||
|
||||
features.resetEntity = function(entity) {
|
||||
features.clearEntity = function(entity) {
|
||||
delete _cache[iD.Entity.key(entity)];
|
||||
};
|
||||
|
||||
features.reset = function() {
|
||||
_cache = {};
|
||||
};
|
||||
|
||||
features.match = function(d) {
|
||||
for (var i = 0, imax = d.length; i !== imax; i++) {
|
||||
features.matchEntity(d[i]);
|
||||
@@ -309,6 +313,8 @@ iD.Features = function(context) {
|
||||
features.isHiddenFeature = function(entity, resolver) {
|
||||
var matches = features.matchEntity(entity, resolver);
|
||||
|
||||
if (!entity.version) return false;
|
||||
|
||||
for (var i = 0, imax = _hidden.length; i !== imax; i++) {
|
||||
if (matches[_hidden[i]]) { return true; }
|
||||
}
|
||||
@@ -319,9 +325,9 @@ iD.Features = function(context) {
|
||||
var geometry = geom || entity.geometry(resolver),
|
||||
parents;
|
||||
|
||||
if (geometry === 'point') {
|
||||
return false;
|
||||
} else if (geometry === 'vertex') {
|
||||
if (!entity.version || geometry === 'point') { return false; }
|
||||
|
||||
if (geometry === 'vertex') {
|
||||
parents = resolver.parentWays(entity);
|
||||
} else { // 'line', 'area', 'relation'
|
||||
parents = resolver.parentRelations(entity);
|
||||
@@ -359,9 +365,11 @@ iD.Features = function(context) {
|
||||
};
|
||||
|
||||
features.isHidden = function(entity, resolver) {
|
||||
var geometry;
|
||||
|
||||
if (!entity.version) return false;
|
||||
|
||||
var geometry = entity.geometry(resolver);
|
||||
geometry = entity.geometry(resolver);
|
||||
if (geometry === 'vertex') return features.isHiddenChild(entity, resolver, geometry);
|
||||
if (geometry === 'point') return features.isHiddenFeature(entity, resolver);
|
||||
|
||||
|
||||
@@ -104,7 +104,7 @@ iD.Map = function(context) {
|
||||
var complete = difference.complete(map.extent());
|
||||
data = _.compact(_.values(complete));
|
||||
filter = function(d) { return d.id in complete; };
|
||||
features.reset(data);
|
||||
features.clear(data);
|
||||
|
||||
} else {
|
||||
// force a full redraw if gatherStats detects that a feature
|
||||
|
||||
Reference in New Issue
Block a user