Use accessors

Not a mix of constructor arguments and bound datum.
This commit is contained in:
John Firebaugh
2013-05-24 17:24:35 -07:00
parent a61e0c9fd4
commit d846e8e3f8
3 changed files with 30 additions and 12 deletions
+4 -4
View File
@@ -47,9 +47,7 @@ iD.ui.EntityEditor = function(context, entity) {
preset = newpreset;
}
selection
.datum(preset)
.html('');
selection.html('');
var messagewrap = selection.append('div')
.attr('class', 'header fillL cf');
@@ -79,7 +77,9 @@ iD.ui.EntityEditor = function(context, entity) {
.attr('class', 'col12 inspector-inner preset-icon-wrap')
.append('div')
.attr('class','fillL')
.call(iD.ui.PresetIcon(context.geometry(entity.id)));
.call(iD.ui.PresetIcon()
.geometry(context.geometry(entity.id))
.preset(preset));
presetUI = iD.ui.preset(context, entity, preset)
.on('change', changeTags);
+20 -4
View File
@@ -1,7 +1,9 @@
iD.ui.PresetIcon = function(geometry) {
return function(selection) {
iD.ui.PresetIcon = function() {
var preset, geometry;
function presetIcon(selection) {
selection.append('div')
.attr('class', function(preset) {
.attr('class', function() {
var s = 'preset-icon-fill icon-' + geometry;
for (var i in preset.tags) {
s += ' tag-' + i + ' tag-' + i + '-' + preset.tags[i];
@@ -12,7 +14,7 @@ iD.ui.PresetIcon = function(geometry) {
var fallbackIcon = geometry === 'line' ? 'other-line' : 'marker-stroked';
selection.append('div')
.attr('class', function(preset) {
.attr('class', function() {
var icon = preset.icon || fallbackIcon,
klass = 'feature-' + icon + ' preset-icon';
@@ -26,5 +28,19 @@ iD.ui.PresetIcon = function(geometry) {
return klass;
});
}
presetIcon.preset = function(_) {
if (!arguments.length) return preset;
preset = _;
return presetIcon;
};
presetIcon.geometry = function(_) {
if (!arguments.length) return geometry;
geometry = _;
return presetIcon;
};
return presetIcon;
};
+6 -4
View File
@@ -130,9 +130,10 @@ iD.ui.PresetList = function(context, entity) {
.attr('class', 'preset-list-button-wrap category col12');
wrap.append('button')
.datum(preset)
.attr('class', 'preset-list-button')
.call(iD.ui.PresetIcon(context.geometry(entity.id)))
.call(iD.ui.PresetIcon()
.geometry(context.geometry(entity.id))
.preset(preset))
.on('click', item.choose)
.append('div')
.attr('class', 'label')
@@ -179,9 +180,10 @@ iD.ui.PresetList = function(context, entity) {
.attr('class', 'preset-list-button-wrap col12');
wrap.append('button')
.datum(preset)
.attr('class', 'preset-list-button')
.call(iD.ui.PresetIcon(context.geometry(entity.id)))
.call(iD.ui.PresetIcon()
.geometry(context.geometry(entity.id))
.preset(preset))
.on('click', item.choose)
.append('div')
.attr('class', 'label')