diff --git a/modules/actions/change_preset.js b/modules/actions/change_preset.js index d39a62836..1a193b878 100644 --- a/modules/actions/change_preset.js +++ b/modules/actions/change_preset.js @@ -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})); }; diff --git a/modules/presets/preset.js b/modules/presets/preset.js index 0778813a8..121483873 100644 --- a/modules/presets/preset.js +++ b/modules/presets/preset.js @@ -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) { diff --git a/modules/validations/outdated_tags.js b/modules/validations/outdated_tags.js index 43805b741..bf2d66f53 100644 --- a/modules/validations/outdated_tags.js +++ b/modules/validations/outdated_tags.js @@ -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) {