From a72865e4d85462cf8c071ce31e30b1191de249ba Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Mon, 29 Apr 2019 21:53:12 -0400 Subject: [PATCH] Treat anything with a from/via/to like a restriction (closes #6221) Applies to actions like splitting, connecting, extracting a via node, etc --- modules/actions/connect.js | 4 ++-- modules/actions/extract.js | 2 +- modules/actions/split.js | 2 +- test/spec/actions/split.js | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/actions/connect.js b/modules/actions/connect.js index 47a1b3742..581766245 100644 --- a/modules/actions/connect.js +++ b/modules/actions/connect.js @@ -80,7 +80,7 @@ export function actionConnect(nodeIDs) { role = relation.memberById(node.id).role || ''; // if this node is a via node in a restriction, remember for later - if (relation.isValidRestriction()) { + if (relation.hasFromViaTo()) { restrictionIDs.push(relation.id); } @@ -103,7 +103,7 @@ export function actionConnect(nodeIDs) { for (k = 0; k < relations.length; k++) { relation = relations[k]; - if (relation.isValidRestriction()) { + if (relation.hasFromViaTo()) { restrictionIDs.push(relation.id); } } diff --git a/modules/actions/extract.js b/modules/actions/extract.js index 6bbd45850..e9f8409bc 100644 --- a/modules/actions/extract.js +++ b/modules/actions/extract.js @@ -98,7 +98,7 @@ export function actionExtract(entityID, projection) { var parentRels = graph.parentRelations(entity); for (var i = 0; i < parentRels.length; i++) { var relation = parentRels[i]; - if (!relation.isValidRestriction()) continue; + if (!relation.hasFromViaTo()) continue; for (var j = 0; j < relation.members.length; j++) { var m = relation.members[j]; diff --git a/modules/actions/split.js b/modules/actions/split.js index 7f78a6bd5..ac1c1f86f 100644 --- a/modules/actions/split.js +++ b/modules/actions/split.js @@ -118,7 +118,7 @@ export function actionSplit(nodeId, newWayIds) { // 1. Splitting a FROM/TO way - only `wayA` OR `wayB` remains in relation // (whichever one is connected to the VIA node/ways) // 2. Splitting a VIA way - `wayB` remains in relation as a VIA way - if (relation.isRestriction()) { + if (relation.hasFromViaTo()) { var f = relation.memberByRole('from'); var v = relation.membersByRole('via'); var t = relation.memberByRole('to'); diff --git a/test/spec/actions/split.js b/test/spec/actions/split.js index 9b6bb7e48..d37fe81de 100644 --- a/test/spec/actions/split.js +++ b/test/spec/actions/split.js @@ -1160,7 +1160,7 @@ describe('iD.actionSplit', function () { }); - ['restriction', 'restriction:bus'].forEach(function (type) { + ['restriction', 'restriction:bus', 'manoeuvre'].forEach(function (type) { describe('type = ' + type, function () { it('updates a restriction\'s \'from\' role - via node', function () {