mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-13 01:02:58 +00:00
Fix wikipedia
This commit is contained in:
@@ -50,11 +50,13 @@ export function wikipedia(field, context) {
|
||||
lang = selection.selectAll('input.wiki-lang')
|
||||
.data([0]);
|
||||
|
||||
getSetValue(lang.enter().append('input')
|
||||
lang = lang.enter().append('input')
|
||||
.attr('type', 'text')
|
||||
.attr('class', 'wiki-lang')
|
||||
.attr('placeholder', t('translate.localized_translation_language')),
|
||||
language()[1]);
|
||||
.attr('placeholder', t('translate.localized_translation_language'))
|
||||
.merge(lang);
|
||||
|
||||
getSetValue(lang, language()[1]);
|
||||
|
||||
lang
|
||||
.call(langcombo)
|
||||
@@ -64,10 +66,11 @@ export function wikipedia(field, context) {
|
||||
title = selection.selectAll('input.wiki-title')
|
||||
.data([0]);
|
||||
|
||||
title.enter().append('input')
|
||||
title = title.enter().append('input')
|
||||
.attr('type', 'text')
|
||||
.attr('class', 'wiki-title')
|
||||
.attr('id', 'preset-input-' + field.id);
|
||||
.attr('id', 'preset-input-' + field.id)
|
||||
.merge(title);
|
||||
|
||||
title
|
||||
.call(titlecombo)
|
||||
@@ -77,11 +80,12 @@ export function wikipedia(field, context) {
|
||||
link = selection.selectAll('a.wiki-link')
|
||||
.data([0]);
|
||||
|
||||
link.enter().append('a')
|
||||
link = link.enter().append('a')
|
||||
.attr('class', 'wiki-link button-input-action minor')
|
||||
.attr('tabindex', -1)
|
||||
.attr('target', '_blank')
|
||||
.call(Icon('#icon-out-link', 'inline'));
|
||||
.call(Icon('#icon-out-link', 'inline'))
|
||||
.merge(link);
|
||||
}
|
||||
|
||||
function language() {
|
||||
|
||||
@@ -34,8 +34,8 @@ describe('wikipedia', function() {
|
||||
var wikipedia = iD.ui.fields.wikipedia(field, context);
|
||||
selection.call(wikipedia);
|
||||
wikipedia.tags({wikipedia: 'en:Title'});
|
||||
expect(selection.selectAll('.wiki-lang').value()).to.equal('English');
|
||||
expect(selection.selectAll('.wiki-title').value()).to.equal('Title');
|
||||
expect(iD.util.getSetValue(selection.selectAll('.wiki-lang'))).to.equal('English');
|
||||
expect(iD.util.getSetValue(selection.selectAll('.wiki-title'))).to.equal('Title');
|
||||
expect(selection.selectAll('.wiki-link').attr('href')).to.equal('https://en.wikipedia.org/wiki/Title');
|
||||
});
|
||||
|
||||
@@ -46,7 +46,7 @@ describe('wikipedia', function() {
|
||||
|
||||
var spy = sinon.spy();
|
||||
wikipedia.on('change.spy', spy);
|
||||
selection.selectAll('.wiki-lang').value('Deutsch');
|
||||
iD.util.getSetValue(selection.selectAll('.wiki-lang'), 'Deutsch');
|
||||
happen.once(selection.selectAll('.wiki-lang').node(), { type: 'change' });
|
||||
happen.once(selection.selectAll('.wiki-lang').node(), { type: 'blur' });
|
||||
expect(spy.callCount).to.equal(2);
|
||||
@@ -55,7 +55,7 @@ describe('wikipedia', function() {
|
||||
|
||||
spy = sinon.spy();
|
||||
wikipedia.on('change.spy', spy);
|
||||
selection.selectAll('.wiki-title').value('Title');
|
||||
iD.util.getSetValue(selection.selectAll('.wiki-title'), 'Title');
|
||||
happen.once(selection.selectAll('.wiki-title').node(), { type: 'change' });
|
||||
happen.once(selection.selectAll('.wiki-title').node(), { type: 'blur' });
|
||||
expect(spy.callCount).to.equal(3);
|
||||
@@ -69,21 +69,21 @@ describe('wikipedia', function() {
|
||||
wikipedia.on('change', changeTags);
|
||||
selection.call(wikipedia);
|
||||
|
||||
selection.selectAll('.wiki-title').value('http://de.wikipedia.org/wiki/Title');
|
||||
iD.util.getSetValue(selection.selectAll('.wiki-title'), 'http://de.wikipedia.org/wiki/Title');
|
||||
happen.once(selection.selectAll('.wiki-title').node(), { type: 'change' });
|
||||
expect(selection.selectAll('.wiki-lang').value()).to.equal('Deutsch');
|
||||
expect(selection.selectAll('.wiki-title').value()).to.equal('Title');
|
||||
expect(iD.util.getSetValue(selection.selectAll('.wiki-lang'))).to.equal('Deutsch');
|
||||
expect(iD.util.getSetValue(selection.selectAll('.wiki-title'))).to.equal('Title');
|
||||
});
|
||||
|
||||
it('preserves existing language', function() {
|
||||
selection.call(iD.ui.fields.wikipedia(field, context));
|
||||
selection.selectAll('.wiki-lang').value('Deutsch');
|
||||
iD.util.getSetValue(selection.selectAll('.wiki-lang'), 'Deutsch');
|
||||
|
||||
var wikipedia = iD.ui.fields.wikipedia(field, context);
|
||||
selection.call(wikipedia);
|
||||
wikipedia.tags({});
|
||||
|
||||
expect(selection.selectAll('.wiki-lang').value()).to.equal('Deutsch');
|
||||
expect(iD.util.getSetValue(selection.selectAll('.wiki-lang'))).to.equal('Deutsch');
|
||||
});
|
||||
|
||||
it('does not set delayed wikidata tag if wikipedia field has changed', function(done) {
|
||||
@@ -94,13 +94,13 @@ describe('wikipedia', function() {
|
||||
|
||||
var spy = sinon.spy();
|
||||
wikipedia.on('change.spy', spy);
|
||||
selection.selectAll('.wiki-lang').value('Deutsch');
|
||||
selection.selectAll('.wiki-title').value('Skip');
|
||||
iD.util.getSetValue(selection.selectAll('.wiki-lang'), 'Deutsch');
|
||||
iD.util.getSetValue(selection.selectAll('.wiki-title'), 'Skip');
|
||||
happen.once(selection.selectAll('.wiki-title').node(), { type: 'change' });
|
||||
happen.once(selection.selectAll('.wiki-title').node(), { type: 'blur' });
|
||||
|
||||
window.setTimeout(function() {
|
||||
selection.selectAll('.wiki-title').value('Title');
|
||||
iD.util.getSetValue(selection.selectAll('.wiki-title'), 'Title');
|
||||
happen.once(selection.selectAll('.wiki-title').node(), { type: 'change' });
|
||||
happen.once(selection.selectAll('.wiki-title').node(), { type: 'blur' });
|
||||
}, 10);
|
||||
@@ -125,8 +125,8 @@ describe('wikipedia', function() {
|
||||
|
||||
var spy = sinon.spy();
|
||||
wikipedia.on('change.spy', spy);
|
||||
selection.selectAll('.wiki-lang').value('Deutsch');
|
||||
selection.selectAll('.wiki-title').value('Title');
|
||||
iD.util.getSetValue(selection.selectAll('.wiki-lang'), 'Deutsch');
|
||||
iD.util.getSetValue(selection.selectAll('.wiki-title'), 'Title');
|
||||
happen.once(selection.selectAll('.wiki-title').node(), { type: 'change' });
|
||||
happen.once(selection.selectAll('.wiki-title').node(), { type: 'blur' });
|
||||
|
||||
|
||||
Reference in New Issue
Block a user