mirror of
https://github.com/FoggedLens/iD.git
synced 2026-05-15 05:30:35 +02:00
Don't add field defaults when upgrading tags to a specific replacement
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
export function actionChangePreset(entityID, oldPreset, newPreset) {
|
||||
export function actionChangePreset(entityID, oldPreset, newPreset, skipFieldDefaults) {
|
||||
return function action(graph) {
|
||||
var entity = graph.entity(entityID);
|
||||
var geometry = entity.geometry(graph);
|
||||
var tags = entity.tags;
|
||||
|
||||
if (oldPreset) tags = oldPreset.unsetTags(tags, geometry);
|
||||
if (newPreset) tags = newPreset.setTags(tags, geometry);
|
||||
if (newPreset) tags = newPreset.setTags(tags, geometry, skipFieldDefaults);
|
||||
|
||||
return graph.replace(entity.update({tags: tags}));
|
||||
};
|
||||
|
||||
@@ -218,7 +218,7 @@ export function presetPreset(id, preset, fields, visible, rawPresets) {
|
||||
|
||||
|
||||
preset.addTags = preset.addTags || preset.tags || {};
|
||||
preset.setTags = function(tags, geometry) {
|
||||
preset.setTags = function(tags, geometry, skipFieldDefaults) {
|
||||
var addTags = preset.addTags;
|
||||
var k;
|
||||
|
||||
@@ -253,7 +253,7 @@ export function presetPreset(id, preset, fields, visible, rawPresets) {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (geometry) {
|
||||
if (geometry && !skipFieldDefaults) {
|
||||
for (var f in preset.fields) {
|
||||
var field = preset.fields[f];
|
||||
if (field.matchGeometry(geometry) && field.key && !tags[field.key] && field.default) {
|
||||
|
||||
@@ -54,7 +54,7 @@ export function validationOutdatedTags() {
|
||||
function(graph) {
|
||||
if (replacementPreset) {
|
||||
var oldPreset = context.presets().match(graph.entity(entityID), context.graph());
|
||||
graph = actionChangePreset(entityID, oldPreset, replacementPreset)(graph);
|
||||
graph = actionChangePreset(entityID, oldPreset, replacementPreset, true /* skip field defaults */)(graph);
|
||||
deprecatedTagsArray = graph.entity(entityID).deprecatedTags();
|
||||
}
|
||||
deprecatedTagsArray.forEach(function(deprecatedTags) {
|
||||
|
||||
Reference in New Issue
Block a user