in modules/ui/fields/wikidata.js [41:140]
function wiki(selection) {
var wrap = selection.selectAll('.form-field-input-wrap')
.data([0]);
wrap = wrap.enter()
.append('div')
.attr('class', 'form-field-input-wrap form-field-input-' + field.type)
.merge(wrap);
var list = wrap.selectAll('ul')
.data([0]);
list = list.enter()
.append('ul')
.attr('class', 'rows')
.merge(list);
var searchRow = list.selectAll('li.wikidata-search')
.data([0]);
var searchRowEnter = searchRow.enter()
.append('li')
.attr('class', 'wikidata-search');
searchInput = searchRowEnter
.append('input')
.attr('type', 'text')
.style('flex', '1')
.call(utilNoAuto);
searchInput
.on('focus', function() {
var node = d3_select(this).node();
node.setSelectionRange(0, node.value.length);
})
.on('blur', function() {
setLabelForEntity();
})
.call(combobox.fetcher(fetchWikidataItems));
combobox.on('accept', function(d) {
_qid = d.id;
change();
}).on('cancel', function() {
setLabelForEntity();
});
searchRowEnter
.append('button')
.attr('class', 'form-field-button wiki-link')
.attr('title', t('icons.open_wikidata'))
.attr('tabindex', -1)
.call(svgIcon('#iD-icon-out-link'))
.on('click', function() {
d3_event.preventDefault();
if (_wikiURL) window.open(_wikiURL, '_blank');
});
var wikidataProperties = ['description', 'identifier'];
var items = list.selectAll('li.labeled-input')
.data(wikidataProperties);
// Enter
var enter = items.enter()
.append('li')
.attr('class', function(d) { return 'labeled-input preset-wikidata-' + d; });
enter
.append('span')
.attr('class', 'label')
.attr('for', function(d) { return 'preset-input-wikidata-' + d; })
.text(function(d) { return t('wikidata.' + d); });
enter
.append('input')
.attr('type', 'text')
.attr('id', function(d) { return 'preset-input-wikidata-' + d; })
.call(utilNoAuto)
.classed('disabled', 'true')
.attr('readonly', 'true');
enter
.append('button')
.attr('class', 'form-field-button')
.attr('title', t('icons.copy'))
.attr('tabindex', -1)
.call(svgIcon('#iD-operation-copy'))
.on('click', function() {
d3_event.preventDefault();
d3_select(this.parentNode)
.select('input')
.node()
.select();
document.execCommand('copy');
});
}