diff --git a/js/id/actions/reverse_way.js b/js/id/actions/reverse_way.js index 37ac53f10..a845fe844 100644 --- a/js/id/actions/reverse_way.js +++ b/js/id/actions/reverse_way.js @@ -65,7 +65,7 @@ iD.actions.ReverseWay = function(wayId) { graph.parentRelations(way).forEach(function (relation) { relation.members.forEach(function (member, index) { if (member.id === way.id && (role = {forward: 'backward', backward: 'forward'}[member.role])) { - graph = iD.actions.UpdateRelationMember(relation.id, index, {role: role})(graph); + graph = iD.actions.UpdateRelationMember(relation.id, {role: role}, index)(graph); } }); }); diff --git a/js/id/actions/split_way.js b/js/id/actions/split_way.js index dda0c23a0..9f33bdf73 100644 --- a/js/id/actions/split_way.js +++ b/js/id/actions/split_way.js @@ -28,11 +28,12 @@ iD.actions.SplitWay = function(nodeId, newWayId) { graph.parentRelations(way).forEach(function(relation) { if (relation.isRestriction()) { - var via = relation.memberByRole('via'), - member = relation.memberById(way.id); - + var via = relation.memberByRole('via'); if (via && newWay.contains(via.id)) { - graph = iD.actions.UpdateRelationMember(relation.id, member.index, {id: newWay.id})(graph); + graph = iD.actions.UpdateRelationMember( + relation.id, + {id: newWay.id}, + relation.memberById(way.id).index)(graph); } } }); diff --git a/js/id/actions/update_relation_member.js b/js/id/actions/update_relation_member.js index 67a45b6ab..29eb79afe 100644 --- a/js/id/actions/update_relation_member.js +++ b/js/id/actions/update_relation_member.js @@ -1,4 +1,4 @@ -iD.actions.UpdateRelationMember = function(relationId, index, properties) { +iD.actions.UpdateRelationMember = function(relationId, properties, index) { return function(graph) { var relation = graph.entity(relationId), members = relation.members.slice(); diff --git a/test/spec/actions/update_relation_member.js b/test/spec/actions/update_relation_member.js index 1878ff923..c85d72b34 100644 --- a/test/spec/actions/update_relation_member.js +++ b/test/spec/actions/update_relation_member.js @@ -2,7 +2,7 @@ describe("iD.actions.UpdateRelationMember", function () { it("updates the properties of the relation member at the specified index", function () { var node = iD.Node(), relation = iD.Relation({members: [{id: node.id, role: 'forward'}]}), - graph = iD.actions.UpdateRelationMember(relation.id, 0, {role: 'backward'})(iD.Graph([node, relation])); + graph = iD.actions.UpdateRelationMember(relation.id, {role: 'backward'}, 0)(iD.Graph([node, relation])); expect(graph.entity(relation.id).members).to.eql([{id: node.id, role: 'backward'}]); }); });