diff --git a/data/core.yaml b/data/core.yaml index 08021a33f..f4f85751b 100644 --- a/data/core.yaml +++ b/data/core.yaml @@ -535,7 +535,7 @@ en: untagged_area_tooltip: "Select a feature type that describes what this area is." untagged_relation: Untagged relation untagged_relation_tooltip: "Select a feature type that describes what this relation is." - many_deletions: "You're deleting {n} features. Are you sure you want to do this? This will delete them from the map that everyone else sees on openstreetmap.org." + many_deletions: "You're deleting {n} features: {p} nodes, {l} lines, {r} relations. Are you sure you want to do this? This will delete them from the map that everyone else sees on openstreetmap.org." tag_suggests_area: "The tag {tag} suggests line should be area, but it is not an area" deprecated_tags: "Deprecated tags: {tags}" zoom: diff --git a/dist/locales/en.json b/dist/locales/en.json index 74108c30a..8fd2c0abd 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -654,7 +654,7 @@ "untagged_area_tooltip": "Select a feature type that describes what this area is.", "untagged_relation": "Untagged relation", "untagged_relation_tooltip": "Select a feature type that describes what this relation is.", - "many_deletions": "You're deleting {n} features. Are you sure you want to do this? This will delete them from the map that everyone else sees on openstreetmap.org.", + "many_deletions": "You're deleting {n} features: {p} nodes, {l} lines, {r} relations. Are you sure you want to do this? This will delete them from the map that everyone else sees on openstreetmap.org.", "tag_suggests_area": "The tag {tag} suggests line should be area, but it is not an area", "deprecated_tags": "Deprecated tags: {tags}" }, diff --git a/modules/validations/many_deletions.js b/modules/validations/many_deletions.js index 6c64b4f09..b8ffcaf67 100644 --- a/modules/validations/many_deletions.js +++ b/modules/validations/many_deletions.js @@ -6,10 +6,18 @@ export function validationManyDeletions() { var validation = function(changes) { var warnings = []; + var nodes=0, ways=0, relations=0; + + changes.deleted.forEach(function(c) { + if (c.type == 'relation') {relations++} + if (c.type == 'way') {ways++} + if (c.type == 'node') {nodes++} + }); if (changes.deleted.length > threshold) { warnings.push({ id: 'many_deletions', - message: t('validations.many_deletions', { n: changes.deleted.length }) + message: t('validations.many_deletions', + { n: changes.deleted.length, p: nodes, l: ways, r: relations }) }); }