mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-13 01:02:58 +00:00
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user