mirror of
https://github.com/FoggedLens/iD.git
synced 2026-05-15 21:48:20 +02:00
Rebind clickhandler in update selection (bc it uses wrap selection)
This commit is contained in:
@@ -94,28 +94,29 @@ export function uiRawMemberEditor(context) {
|
||||
.attr('class', 'member-row form-field')
|
||||
.classed('member-incomplete', function(d) { return !d.member; });
|
||||
|
||||
enter.each(function(d) {
|
||||
if (d.member) {
|
||||
var label = d3.select(this).append('label')
|
||||
.attr('class', 'form-label')
|
||||
.append('a')
|
||||
.attr('href', '#')
|
||||
.on('click', selectMember);
|
||||
enter
|
||||
.each(function(d) {
|
||||
if (d.member) {
|
||||
var label = d3.select(this).append('label')
|
||||
.attr('class', 'form-label')
|
||||
.append('a')
|
||||
.attr('href', '#')
|
||||
.on('click', selectMember);
|
||||
|
||||
label.append('span')
|
||||
.attr('class', 'member-entity-type')
|
||||
.text(function(d) { return context.presets().match(d.member, context.graph()).name(); });
|
||||
label.append('span')
|
||||
.attr('class', 'member-entity-type')
|
||||
.text(function(d) { return context.presets().match(d.member, context.graph()).name(); });
|
||||
|
||||
label.append('span')
|
||||
.attr('class', 'member-entity-name')
|
||||
.text(function(d) { return utilDisplayName(d.member); });
|
||||
label.append('span')
|
||||
.attr('class', 'member-entity-name')
|
||||
.text(function(d) { return utilDisplayName(d.member); });
|
||||
|
||||
} else {
|
||||
d3.select(this).append('label')
|
||||
.attr('class', 'form-label')
|
||||
.text(t('inspector.incomplete'));
|
||||
}
|
||||
});
|
||||
} else {
|
||||
d3.select(this).append('label')
|
||||
.attr('class', 'form-label')
|
||||
.text(t('inspector.incomplete'));
|
||||
}
|
||||
});
|
||||
|
||||
enter
|
||||
.append('input')
|
||||
|
||||
@@ -47,7 +47,6 @@ export function uiRawMembershipEditor(context) {
|
||||
|
||||
} else {
|
||||
var relation = coreRelation();
|
||||
|
||||
context.perform(
|
||||
actionAddEntity(relation),
|
||||
actionAddMember(relation.id, { id: id, type: context.entity(id).type, role: role }),
|
||||
@@ -120,7 +119,7 @@ export function uiRawMembershipEditor(context) {
|
||||
context.graph().parentRelations(entity).forEach(function(relation) {
|
||||
relation.members.forEach(function(member, index) {
|
||||
if (member.id === entity.id) {
|
||||
memberships.push({relation: relation, member: member, index: index});
|
||||
memberships.push({ relation: relation, member: member, index: index });
|
||||
}
|
||||
});
|
||||
});
|
||||
@@ -203,59 +202,68 @@ export function uiRawMembershipEditor(context) {
|
||||
}
|
||||
|
||||
|
||||
if (showBlank) {
|
||||
var newrow = list.selectAll('.member-row-new')
|
||||
.data([0]);
|
||||
var newrow = list.selectAll('.member-row-new')
|
||||
.data(showBlank ? [0] : []);
|
||||
|
||||
enter = newrow.enter()
|
||||
.append('li')
|
||||
.attr('class', 'member-row member-row-new form-field');
|
||||
newrow.exit()
|
||||
.remove();
|
||||
|
||||
enter
|
||||
.append('input')
|
||||
.attr('type', 'text')
|
||||
.attr('class', 'member-entity-input')
|
||||
.call(d3combobox()
|
||||
.minItems(1)
|
||||
.fetcher(function(value, callback) { callback(relations(value)); })
|
||||
.on('accept', function(d) {
|
||||
addMembership(d, list.selectAll('.member-row-new .member-role').property('value'));
|
||||
})
|
||||
);
|
||||
enter = newrow.enter()
|
||||
.append('li')
|
||||
.attr('class', 'member-row member-row-new form-field');
|
||||
|
||||
enter
|
||||
.append('input')
|
||||
.attr('class', 'member-role')
|
||||
.property('type', 'text')
|
||||
.attr('maxlength', 255)
|
||||
.attr('placeholder', t('inspector.role'))
|
||||
.on('change', changeRole);
|
||||
enter
|
||||
.append('input')
|
||||
.attr('type', 'text')
|
||||
.attr('class', 'member-entity-input');
|
||||
|
||||
enter
|
||||
.append('button')
|
||||
.attr('tabindex', -1)
|
||||
.attr('class', 'remove button-input-action member-delete minor')
|
||||
.on('click', deleteMembership)
|
||||
.call(svgIcon('#operation-delete'));
|
||||
enter
|
||||
.append('input')
|
||||
.attr('class', 'member-role')
|
||||
.property('type', 'text')
|
||||
.attr('maxlength', 255)
|
||||
.attr('placeholder', t('inspector.role'))
|
||||
.on('change', changeRole);
|
||||
|
||||
} else {
|
||||
list.selectAll('.member-row-new')
|
||||
.remove();
|
||||
}
|
||||
enter
|
||||
.append('button')
|
||||
.attr('tabindex', -1)
|
||||
.attr('class', 'remove button-input-action member-delete minor')
|
||||
.on('click', deleteMembership)
|
||||
.call(svgIcon('#operation-delete'));
|
||||
|
||||
newrow = newrow
|
||||
.merge(enter);
|
||||
|
||||
newrow.selectAll('.member-entity-input')
|
||||
.call(d3combobox()
|
||||
.minItems(1)
|
||||
.fetcher(function(value, callback) { callback(relations(value)); })
|
||||
.on('accept', onAccept)
|
||||
);
|
||||
|
||||
|
||||
var addrel = wrap.selectAll('.add-relation')
|
||||
.data([0]);
|
||||
|
||||
addrel.enter()
|
||||
addrel = addrel.enter()
|
||||
.append('button')
|
||||
.attr('class', 'add-relation')
|
||||
.merge(addrel);
|
||||
|
||||
addrel
|
||||
.call(svgIcon('#icon-plus', 'light'))
|
||||
.on('click', function() {
|
||||
showBlank = true;
|
||||
content(wrap);
|
||||
list.selectAll('.member-entity-input').node().focus();
|
||||
})
|
||||
.call(svgIcon('#icon-plus', 'light'));
|
||||
});
|
||||
|
||||
|
||||
function onAccept(d) {
|
||||
var role = list.selectAll('.member-row-new .member-role').property('value');
|
||||
addMembership(d, role);
|
||||
}
|
||||
|
||||
|
||||
function bindTypeahead(d) {
|
||||
@@ -289,6 +297,7 @@ export function uiRawMembershipEditor(context) {
|
||||
}));
|
||||
}
|
||||
|
||||
|
||||
function unbind() {
|
||||
var row = d3.select(this);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user