taglist and presetui coexist

This commit is contained in:
Ansis Brammanis
2013-02-14 18:13:28 -05:00
parent 8c89efe563
commit 97679c7679
3 changed files with 24 additions and 38 deletions
+18 -20
View File
@@ -4,11 +4,12 @@ iD.ui.Inspector = function() {
presetData = iD.presetData(),
initial = false,
presetUI,
context,
tagList = iD.ui.Taglist();
tagList,
context;
function inspector(selection) {
var entity = selection.datum();
var entity = selection.datum(),
presetMatch = presetData.matchTags(entity);
var iwrap = selection.append('div')
.attr('class','inspector content hide'),
@@ -44,14 +45,14 @@ iD.ui.Inspector = function() {
presetUI = iD.ui.preset()
.on('change', function(tags) {
inspector.tags(_.extend(inspector.tags(), tags));
event.change();
});
event.on('change.preset', function() {
var tags = inspector.tags();
presetUI.change(tags);
});
tagList = iD.ui.Taglist()
.context(context)
.on('change', function(tags) {
event.change();
});
var inspectorpresetsearch = inspectorwrap.append('div')
.attr('class', 'inspector-preset cf')
@@ -80,22 +81,19 @@ iD.ui.Inspector = function() {
var inspectorpreset = inspectorwrap.append('div')
.attr('class', 'inspector-preset cf');
inspectorwrap.append('h4')
.text(t('inspector.edit_tags'));
if (presetMatch) {
inspectorpreset.call(presetUI
.preset(presetMatch));
}
inspectorwrap.call(tagList);
var taglistwrap = inspectorwrap.append('div').call(tagList);
inspector.tags(entity.tags);
inspectorbody.append('div')
.attr('class', 'inspector-buttons pad1 fillD')
.call(drawButtons);
var presetMatch = presetData.matchTags(entity);
if (presetMatch) {
inspectorpreset.call(presetUI
.preset(presetMatch)
.change(inspector.tags()));
}
iwrap.call(iD.ui.Toggle(true));
}
@@ -140,7 +138,8 @@ iD.ui.Inspector = function() {
if (!arguments.length) {
return _.extend(presetUI.tags(), tagList.tags());
} else {
tagList.tags(tags);
presetUI.change(tags);
tagList.tags(_.omit(tags, _.keys(presetUI.tags() || {})));
}
};
@@ -156,7 +155,6 @@ iD.ui.Inspector = function() {
inspector.context = function(_) {
context = _;
tagList.context(context);
return inspector;
};
-2
View File
@@ -98,7 +98,6 @@ iD.ui.preset = function() {
showRawTags.text(hidden ? 'Hide raw tags' : 'Show raw tags');
if (hidden) sections.style('display', 'none');
else sections.style('display', '');
event.change(clean(getTags()));
});
sections = selection.selectAll('div.preset-section')
.data(preset.main)
@@ -118,7 +117,6 @@ iD.ui.preset = function() {
.attr('class', 'col8 preset-input'), d);
});
if (exttags) setTags(exttags);
key();
}
presets.preset = function(_) {
+6 -16
View File
@@ -1,22 +1,19 @@
iD.ui.Taglist = function() {
var event = d3.dispatch('changeTags', 'close', 'change'),
var event = d3.dispatch('change'),
taginfo = iD.taginfo(),
initial = false,
list,
context;
function taglist(selection) {
var entity = selection.datum();
var wrap = selection.append('div');
wrap.append('h4')
selection.append('h4')
.text(t('inspector.edit_tags'));
list = wrap.append('ul')
list = selection.append('ul')
.attr('class', 'tag-list');
var newTag = wrap.append('button')
var newTag = selection.append('button')
.attr('class', 'add-tag');
newTag.on('click', function() {
@@ -31,8 +28,6 @@ iD.ui.Taglist = function() {
.attr('class', 'label')
.text(t('inspector.new_tag'));
drawTags(entity.tags);
}
function drawTags(tags) {
@@ -233,22 +228,17 @@ iD.ui.Taglist = function() {
}
function addTag() {
var tags = inspector.tags();
var tags = taglist.tags();
tags[''] = '';
drawTags(tags);
}
function removeTag(d) {
var tags = inspector.tags();
var tags = taglist.tags();
delete tags[d.key];
drawTags(tags);
}
function apply(entity) {
event.changeTags(entity, taglist.tags());
event.close(entity);
}
taglist.tags = function(tags) {
if (!arguments.length) {
tags = {};