Merge branch 'master' of github.com:systemed/iD

This commit is contained in:
Saman Bemel-Benrud
2012-12-17 15:43:31 -05:00
2 changed files with 34 additions and 20 deletions
+14 -10
View File
@@ -405,16 +405,6 @@ button.Browse .label {
border-bottom: 1px solid #ccc;
}
.inspector-inner button {
position: absolute;
top: 0;
right: 0;
}
.inspector-inner button.tag-help {
right: 30px;
}
.inspector-wrap a.permalink {
text-decoration:none;
margin-right:1em;
@@ -453,6 +443,20 @@ button.Browse .label {
border-right: 1px solid #ccc;
}
.tag-row button {
position: absolute;
top: 0;
right: 0;
}
.tag-row-empty button {
display: none;
}
.tag-row button.tag-help {
right: 30px;
}
.inspector-buttons {
border-top: 1px solid #ccc;
}
+20 -10
View File
@@ -36,15 +36,25 @@ iD.Inspector = function() {
selection.each(function(entity) {
function draw(data) {
function setValue(d, i) { d.value = this.value; }
function setKey(d, i) { d.key = this.value; }
function emptyTag(d) { return d.key === ''; }
data.push({key: '', value: ''});
function setValue(d, i) {
d.value = this.value;
}
function setKey(d, i) {
d.key = this.value;
}
function emptyTag(d) {
return d.key === '';
}
function pushMore(d, i) {
if (d3.event.keyCode === 9) {
var tags = grabtags();
if (i == tags.length - 1 && !tags.filter(emptyTag).length) {
draw(tags.concat([{ key: '', value: '' }]));
draw(tags);
}
}
}
@@ -60,23 +70,25 @@ iD.Inspector = function() {
}
var li = inspectorwrap.selectAll('li')
.data(data, function(d) { return [d.key, d.value]; });
.data(data, function(d) { return d.key; });
li.exit().remove();
var row = li.enter().append('li').attr('class','tag-row');
var inputs = row.append('div').attr('class','input-wrap');
li.classed('tag-row-empty', emptyTag);
inputs.append('input')
.property('type', 'text')
.attr('class', 'key')
.property('value', function(d, i) { return d.key; })
.property('value', function(d) { return d.key; })
.on('keyup.update', setKey);
inputs.append('input')
.property('type', 'text')
.attr('class', 'value')
.property('value', function(d, i) { return d.value; })
.property('value', function(d) { return d.value; })
.on('keyup.update', setValue)
.on('keydown.push-more', pushMore)
.each(bindTypeahead);
@@ -186,9 +198,7 @@ iD.Inspector = function() {
inspectorwrap.append('h4').text('Edit tags');
var tags = d3.entries(_.cloneDeep(entity.tags));
if (tags.length === 0) tags = [{ key: '', value: '' }];
draw(tags);
draw(d3.entries(_.cloneDeep(entity.tags)));
selection.select('input').node().focus();