mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-13 17:23:02 +00:00
Pass entity array into validators instead of changes object
This commit is contained in:
@@ -293,11 +293,11 @@ export function coreHistory(context) {
|
||||
},
|
||||
|
||||
|
||||
validate: function(changes) {
|
||||
validate: function(entitiesToCheck) {
|
||||
return _flatten(_map(
|
||||
validations,
|
||||
function(fn) {
|
||||
return fn(context)(changes, _stack[_index].graph, _tree);
|
||||
return fn(context)(entitiesToCheck, _stack[_index].graph, _tree);
|
||||
}
|
||||
));
|
||||
},
|
||||
|
||||
@@ -193,13 +193,12 @@ export function validationHighwayCrossingOtherWays(context) {
|
||||
return edgeCrossInfos;
|
||||
}
|
||||
|
||||
var validation = function(changes, graph, tree) {
|
||||
var validation = function(entitiesToCheck, graph, tree) {
|
||||
// create one issue per crossing point
|
||||
var edited = changes.created.concat(changes.modified),
|
||||
edgePairsVisited = d3_set(),
|
||||
var edgePairsVisited = d3_set(),
|
||||
issues = [];
|
||||
for (var i = 0; i < edited.length; i++) {
|
||||
var crosses = findCrossingsByWay(edited[i], graph, tree, edgePairsVisited);
|
||||
for (var i = 0; i < entitiesToCheck.length; i++) {
|
||||
var crosses = findCrossingsByWay(entitiesToCheck[i], graph, tree, edgePairsVisited);
|
||||
for (var j = 0; j < crosses.length; j++) {
|
||||
var crossing = crosses[j];
|
||||
|
||||
|
||||
@@ -17,11 +17,10 @@ import {
|
||||
|
||||
export function validationDeprecatedTag(context) {
|
||||
|
||||
var validation = function(changes) {
|
||||
var edited = changes.created.concat(changes.modified),
|
||||
issues = [];
|
||||
for (var changeIndex in edited) {
|
||||
var change = edited[changeIndex];
|
||||
var validation = function(entitiesToCheck) {
|
||||
var issues = [];
|
||||
for (var changeIndex in entitiesToCheck) {
|
||||
var change = entitiesToCheck[changeIndex];
|
||||
var deprecatedTagsArray = change.deprecatedTags();
|
||||
if (deprecatedTagsArray.length > 0) {
|
||||
for (var deprecatedTagIndex in deprecatedTagsArray) {
|
||||
|
||||
@@ -30,10 +30,10 @@ export function validationDisconnectedHighway(context) {
|
||||
}
|
||||
|
||||
|
||||
var validation = function(changes, graph) {
|
||||
var validation = function(entitiesToCheck, graph) {
|
||||
var issues = [];
|
||||
for (var i = 0; i < changes.created.length; i++) {
|
||||
var entity = changes.created[i];
|
||||
for (var i = 0; i < entitiesToCheck.length; i++) {
|
||||
var entity = entitiesToCheck[i];
|
||||
if (isDisconnectedHighway(entity, graph)) {
|
||||
var entityLabel = utilDisplayLabel(entity, context);
|
||||
issues.push(new validationIssue({
|
||||
|
||||
@@ -44,11 +44,11 @@ export function validationGenericName(context) {
|
||||
}
|
||||
|
||||
|
||||
return function validation(changes) {
|
||||
return function validation(entitiesToCheck) {
|
||||
var issues = [];
|
||||
|
||||
for (var i = 0; i < changes.created.length; i++) {
|
||||
var change = changes.created[i];
|
||||
for (var i = 0; i < entitiesToCheck.length; i++) {
|
||||
var change = entitiesToCheck[i];
|
||||
var generic = isGenericName(change);
|
||||
if (generic) {
|
||||
var preset = utilPreset(change, context);
|
||||
|
||||
@@ -108,14 +108,13 @@ export function validationHighwayAlmostJunction(context) {
|
||||
return null;
|
||||
}
|
||||
|
||||
var validation = function(changes, graph, tree) {
|
||||
var edited = changes.created.concat(changes.modified),
|
||||
issues = [];
|
||||
for (var i = 0; i < edited.length; i++) {
|
||||
if (!isHighway(edited[i])) continue;
|
||||
var extendableNodes = findConnectableEndNodesByExtension(edited[i], graph, tree);
|
||||
var validation = function(entitiesToCheck, graph, tree) {
|
||||
var issues = [];
|
||||
for (var i = 0; i < entitiesToCheck.length; i++) {
|
||||
var endHighway = entitiesToCheck[i];
|
||||
if (!isHighway(endHighway)) continue;
|
||||
var extendableNodes = findConnectableEndNodesByExtension(endHighway, graph, tree);
|
||||
for (var j = 0; j < extendableNodes.length; j++) {
|
||||
var endHighway = edited[i];
|
||||
var node = extendableNodes[j].node;
|
||||
var edgeHighway = graph.entity(extendableNodes[j].wid);
|
||||
|
||||
|
||||
@@ -40,7 +40,8 @@ export function IssueManager(context) {
|
||||
|
||||
self.validate = function() {
|
||||
var changes = context.history().changes();
|
||||
issues = context.history().validate(changes);
|
||||
var entitiesToCheck = changes.created.concat(changes.modified);
|
||||
issues = context.history().validate(entitiesToCheck);
|
||||
dispatch.call('reload', self, issues);
|
||||
};
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ export function validationManyDeletions() {
|
||||
var validation = function(changes, graph) {
|
||||
var issues = [];
|
||||
var nodes = 0, ways = 0, areas = 0, relations = 0;
|
||||
|
||||
/*
|
||||
changes.deleted.forEach(function(c) {
|
||||
if (c.type === 'node') { nodes++; }
|
||||
else if (c.type === 'way' && c.geometry(graph) === 'line') { ways++; }
|
||||
@@ -28,7 +28,7 @@ export function validationManyDeletions() {
|
||||
),
|
||||
}));
|
||||
}
|
||||
|
||||
*/
|
||||
return issues;
|
||||
};
|
||||
|
||||
|
||||
@@ -1,21 +1,16 @@
|
||||
import { services } from '../services';
|
||||
|
||||
export function validationMapCSSChecks() {
|
||||
var validation = function(changes, graph) {
|
||||
var validation = function(entitiesToCheck, graph) {
|
||||
if (!services.maprules) return [];
|
||||
|
||||
var rules = services.maprules.validationRules();
|
||||
var issues = [];
|
||||
var createdModified = ['created', 'modified'];
|
||||
|
||||
for (var i = 0; i < rules.length; i++) {
|
||||
var rule = rules[i];
|
||||
for (var j = 0; j < createdModified.length; j++) {
|
||||
var type = createdModified[j];
|
||||
var entities = changes[type];
|
||||
for (var k = 0; k < entities.length; k++) {
|
||||
rule.findIssues(entities[k], graph, issues);
|
||||
}
|
||||
for (var j = 0; j < entitiesToCheck.length; j++) {
|
||||
rule.findIssues(entitiesToCheck[j], graph, issues);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -19,12 +19,12 @@ export function validationMissingTag(context) {
|
||||
graph.parentRelations(entity).length > 0;
|
||||
}
|
||||
|
||||
var validation = function(changes, graph) {
|
||||
var validation = function(entitiesToCheck, graph) {
|
||||
var types = ['point', 'line', 'area', 'relation'];
|
||||
var issues = [];
|
||||
|
||||
for (var i = 0; i < changes.created.length; i++) {
|
||||
var change = changes.created[i];
|
||||
for (var i = 0; i < entitiesToCheck.length; i++) {
|
||||
var change = entitiesToCheck[i];
|
||||
var geometry = change.geometry(graph);
|
||||
|
||||
if (types.indexOf(geometry) !== -1 && !hasTags(change, graph)) {
|
||||
|
||||
@@ -13,10 +13,10 @@ import {
|
||||
|
||||
export function validationOldMultipolygon(context) {
|
||||
|
||||
return function validation(changes, graph) {
|
||||
return function validation(entitiesToCheck, graph) {
|
||||
var issues = [];
|
||||
for (var i = 0; i < changes.created.length; i++) {
|
||||
var entity = changes.created[i];
|
||||
for (var i = 0; i < entitiesToCheck.length; i++) {
|
||||
var entity = entitiesToCheck[i];
|
||||
var mistaggedMultipolygon = osmIsSimpleMultipolygonOuterMember(entity, graph);
|
||||
if (mistaggedMultipolygon) {
|
||||
var multipolygonLabel = utilDisplayLabel(mistaggedMultipolygon, context);
|
||||
|
||||
@@ -29,10 +29,10 @@ export function validationTagSuggestsArea() {
|
||||
}
|
||||
|
||||
|
||||
var validation = function(changes, graph) {
|
||||
var validation = function(entitiesToCheck, graph) {
|
||||
var issues = [];
|
||||
for (var i = 0; i < changes.created.length; i++) {
|
||||
var change = changes.created[i];
|
||||
for (var i = 0; i < entitiesToCheck.length; i++) {
|
||||
var change = entitiesToCheck[i];
|
||||
var geometry = change.geometry(graph);
|
||||
var suggestion = (geometry === 'line' ? tagSuggestsArea(change.tags) : undefined);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user