mirror of
https://github.com/FoggedLens/iD.git
synced 2026-05-20 23:44:47 +02:00
Excluding verticies where appropriate on save sidebar
This commit is contained in:
@@ -37,6 +37,7 @@
|
||||
|
||||
<script src='js/id/util.js'></script>
|
||||
<script src='js/id/util/session_mutex.js'></script>
|
||||
<script src='js/id/util/relevant_changes.js'></script>
|
||||
|
||||
<script src='js/id/services/taginfo.js'></script>
|
||||
<script src='js/id/services/wikipedia.js'></script>
|
||||
|
||||
+1
-1
@@ -131,7 +131,7 @@ iD.ui.Commit = function(context) {
|
||||
var li = section.append('ul')
|
||||
.attr('class', 'changeset-list')
|
||||
.selectAll('li')
|
||||
.data(function(d) { return changes[d]; })
|
||||
.data(function(d) { return iD.util.relevantChanges(context.graph(), changes[d]); })
|
||||
.enter()
|
||||
.append('li');
|
||||
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
// filters out verticies where the parent entity is already present
|
||||
// for simpler changeset listing
|
||||
iD.util.relevantChanges = function(graph, entities) {
|
||||
var relevant = {};
|
||||
for (var i = entities.length - 1; i >= 0; i--) {
|
||||
var entity = entities[i];
|
||||
if (entity.geometry(graph) === 'vertex') {
|
||||
var parents = graph.parentWays(entity);
|
||||
for (var j = parents.length - 1; j >= 0; j--) {
|
||||
var parent = parents[j];
|
||||
relevant[parent.id] = parent;
|
||||
}
|
||||
} else {
|
||||
relevant[entity.id] = entity;
|
||||
}
|
||||
}
|
||||
return d3.values(relevant);
|
||||
};
|
||||
@@ -192,6 +192,7 @@
|
||||
<script src='../js/id/presets/field.js'></script>
|
||||
|
||||
<script src='../js/id/util/session_mutex.js'></script>
|
||||
<script src='../js/id/util/relevant_changes.js'></script>
|
||||
|
||||
<script src='../js/id/validate.js'></script>
|
||||
|
||||
@@ -273,6 +274,7 @@
|
||||
|
||||
<script src="spec/util.js"></script>
|
||||
<script src='spec/util/session_mutex.js'></script>
|
||||
<script src='spec/util/relevant_changes.js'></script>
|
||||
|
||||
<script src="spec/behavior/hash.js"></script>
|
||||
<script src="spec/behavior/hover.js"></script>
|
||||
|
||||
@@ -91,6 +91,7 @@
|
||||
|
||||
<script src="spec/util.js"></script>
|
||||
<script src='spec/util/session_mutex.js'></script>
|
||||
<script src='spec/util/relevant_changes.js'></script>
|
||||
|
||||
<script src="spec/behavior/hash.js"></script>
|
||||
<script src="spec/behavior/hover.js"></script>
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
describe("iD.util.relevantChanges", function() {
|
||||
var graph = iD.Graph({
|
||||
'a': iD.Node({id: 'a', loc: [0, 0]}),
|
||||
'b': iD.Node({id: 'b', loc: [2, 0]}),
|
||||
'c': iD.Node({id: 'c', loc: [2, 2]}),
|
||||
'd': iD.Node({id: 'd', loc: [0, 2]}),
|
||||
'e': iD.Node({id: 'e', loc: [0, 2]}),
|
||||
'-': iD.Way({id: '-', nodes: ['a', 'b', 'c', 'd', 'e', 'a']})
|
||||
});
|
||||
|
||||
it("returns a way that changed", function() {
|
||||
var entities = [graph.entity('-')],
|
||||
a = iD.util.relevantChanges(graph, entities);
|
||||
expect(a).to.eql(entities);
|
||||
});
|
||||
|
||||
it("just returns the way that changed, leaving out the verticies", function() {
|
||||
var entities = [
|
||||
graph.entity('a'),
|
||||
graph.entity('b'),
|
||||
graph.entity('c'),
|
||||
graph.entity('d'),
|
||||
graph.entity('e'),
|
||||
graph.entity('-')],
|
||||
a = iD.util.relevantChanges(graph, entities),
|
||||
way = [graph.entity('-')];
|
||||
expect(a).to.eql(way);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user