mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-14 01:33:03 +00:00
Refactor contributor listing into ui component, hide it when none are
around.
This commit is contained in:
@@ -44,6 +44,7 @@
|
||||
<script src='js/id/ui/loading.js'></script>
|
||||
<script src='js/id/ui/userpanel.js'></script>
|
||||
<script src='js/id/ui/layerswitcher.js'></script>
|
||||
<script src='js/id/ui/contributors.js'></script>
|
||||
<script src='js/id/ui/geocoder.js'></script>
|
||||
<script src='js/id/ui/notice.js'></script>
|
||||
<script src='js/id/ui/tag_reference.js'></script>
|
||||
|
||||
32
js/id/id.js
32
js/id/id.js
@@ -44,28 +44,10 @@ window.iD = function(container) {
|
||||
}
|
||||
}
|
||||
|
||||
var showUsers = _.debounce(function() {
|
||||
var users = {},
|
||||
entities = map.history().graph().intersects(map.extent());
|
||||
for (var i in entities) {
|
||||
if (entities[i].user) {
|
||||
users[entities[i].user] = true;
|
||||
if (Object.keys(users).length > 10) break;
|
||||
}
|
||||
}
|
||||
var u = Object.keys(users);
|
||||
var l = d3.select('#user-list')
|
||||
.selectAll('a.user-link').data(u);
|
||||
l.enter().append('a')
|
||||
.attr('class', 'user-link')
|
||||
.attr('href', function(d) { return connection.userUrl(d); })
|
||||
.attr('target', '_blank')
|
||||
.text(String);
|
||||
l.exit().remove();
|
||||
}, 1000);
|
||||
|
||||
map.on('move.disable-buttons', disableTooHigh)
|
||||
.on('move.show-users', showUsers);
|
||||
.on('move.contributors', _.debounce(function() {
|
||||
contributors.call(iD.contributors(map));
|
||||
}, 1000));
|
||||
|
||||
buttons.append('span')
|
||||
.attr('class', function(d) {
|
||||
@@ -237,10 +219,10 @@ window.iD = function(container) {
|
||||
var contributors = about.append('div')
|
||||
.attr('id', 'user-list')
|
||||
.attr('class','about-block fillD pad1');
|
||||
contributors.append('span')
|
||||
.attr('class', 'icon nearby icon-pre-text');
|
||||
contributors.append('pan')
|
||||
.text('Viewing contributions by ');
|
||||
contributors.append('span')
|
||||
.attr('class', 'icon nearby icon-pre-text');
|
||||
contributors.append('pan')
|
||||
.text('Viewing contributions by ');
|
||||
|
||||
history.on('change.buttons', function() {
|
||||
var undo = history.undoAnnotation(),
|
||||
|
||||
@@ -14,7 +14,6 @@ iD.taginfo = function() {
|
||||
line: 'ways'
|
||||
};
|
||||
|
||||
|
||||
function sets(parameters, n, o) {
|
||||
if (parameters.geometry && o[parameters.geometry]) {
|
||||
parameters[n] = o[parameters.geometry];
|
||||
|
||||
32
js/id/ui/contributors.js
Normal file
32
js/id/ui/contributors.js
Normal file
@@ -0,0 +1,32 @@
|
||||
iD.contributors = function(map) {
|
||||
|
||||
function contributors(selection) {
|
||||
|
||||
var users = {},
|
||||
entities = map.history().graph().intersects(map.extent());
|
||||
for (var i in entities) {
|
||||
if (entities[i].user) {
|
||||
users[entities[i].user] = true;
|
||||
if (Object.keys(users).length > 10) break;
|
||||
}
|
||||
}
|
||||
var u = Object.keys(users);
|
||||
var l = selection.selectAll('a.user-link').data(u);
|
||||
l.enter().append('a')
|
||||
.attr('class', 'user-link')
|
||||
.attr('href', function(d) { return map.connection().userUrl(d); })
|
||||
.attr('target', '_blank')
|
||||
.text(String);
|
||||
l.exit().remove();
|
||||
|
||||
if (!u.length) {
|
||||
selection.transition().style('opacity', 0);
|
||||
} else if (selection.style('opacity') === '0') {
|
||||
selection.transition().style('opacity', 1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return contributors;
|
||||
|
||||
};
|
||||
Reference in New Issue
Block a user