Don't add empty source tag on a changeset

(closes #4993)
This commit is contained in:
Bryan Housel
2018-04-18 17:33:56 -04:00
parent a86167f0d1
commit d8f6fafe74
2 changed files with 27 additions and 27 deletions

View File

@@ -11,12 +11,11 @@ import { utilRebind, utilTriggerEvent } from '../util';
export function uiChangesetEditor(context) {
var dispatch = d3_dispatch('change'),
formFields = uiFormFields(context),
fieldsArr,
tags,
changesetId;
var dispatch = d3_dispatch('change');
var formFields = uiFormFields(context);
var _fieldsArr;
var _tags;
var _changesetID;
function changesetEditor(selection) {
@@ -27,17 +26,17 @@ export function uiChangesetEditor(context) {
function render(selection) {
var initial = false;
if (!fieldsArr) {
if (!_fieldsArr) {
initial = true;
var presets = context.presets();
fieldsArr = [
_fieldsArr = [
uiField(context, presets.field('comment'), null, { show: true, revert: false }),
uiField(context, presets.field('source'), null, { show: false, revert: false }),
uiField(context, presets.field('hashtags'), null, { show: false, revert: false }),
];
fieldsArr.forEach(function(field) {
_fieldsArr.forEach(function(field) {
field
.on('change', function(t, onInput) {
dispatch.call('change', field, t, onInput);
@@ -45,19 +44,19 @@ export function uiChangesetEditor(context) {
});
}
fieldsArr.forEach(function(field) {
_fieldsArr.forEach(function(field) {
field
.tags(tags);
.tags(_tags);
});
selection
.call(formFields.fieldsArr(fieldsArr));
.call(formFields.fieldsArr(_fieldsArr));
if (initial) {
var commentField = selection.select('#preset-input-comment'),
commentNode = commentField.node();
var commentField = selection.select('#preset-input-comment');
var commentNode = commentField.node();
if (commentNode) {
commentNode.focus();
@@ -91,7 +90,7 @@ export function uiChangesetEditor(context) {
}
// Add warning if comment mentions Google
var hasGoogle = tags.comment.match(/google/i);
var hasGoogle = _tags.comment.match(/google/i);
var commentWarning = selection.select('.form-field-comment').selectAll('.comment-warning')
.data(hasGoogle ? [0] : []);
@@ -123,18 +122,18 @@ export function uiChangesetEditor(context) {
changesetEditor.tags = function(_) {
if (!arguments.length) return tags;
tags = _;
// Don't reset fieldsArr here.
if (!arguments.length) return _tags;
_tags = _;
// Don't reset _fieldsArr here.
return changesetEditor;
};
changesetEditor.changesetID = function(_) {
if (!arguments.length) return changesetId;
if (changesetId === _) return changesetEditor;
changesetId = _;
fieldsArr = null;
if (!arguments.length) return _changesetID;
if (_changesetID === _) return changesetEditor;
_changesetID = _;
_fieldsArr = null;
return changesetEditor;
};

View File

@@ -18,7 +18,7 @@ import { utilRebind } from '../util';
var _changeset;
var readOnlyTags = [
/^_changesets_count$/,
/^changesets_count$/,
/^created_by$/,
/^ideditor:/,
/^imagery_used$/,
@@ -65,7 +65,6 @@ export function uiCommit(context) {
var detected = utilDetect();
tags = {
comment: context.storage('comment') || '',
source: context.storage('source') || '',
created_by: ('iD ' + context.version).substr(0, 255),
host: detected.host.substr(0, 255),
locale: detected.locale.substr(0, 255)
@@ -80,6 +79,11 @@ export function uiCommit(context) {
tags.hashtags = hashtags;
}
var source = context.storage('source');
if (source) {
tags.source = source;
}
_changeset = new osmChangeset({ tags: tags });
}
@@ -293,9 +297,6 @@ export function uiCommit(context) {
}
}
if (changed.hasOwnProperty('source')) {
if (changed.source === undefined) {
changed.source = '';
}
if (!onInput) {
context.storage('source', changed.source);
context.storage('commentDate', Date.now());