From e102c3fdc6022df329a93d17a57b57c966750b27 Mon Sep 17 00:00:00 2001 From: Quincy Morgan Date: Wed, 20 Feb 2019 10:20:26 -0500 Subject: [PATCH] Don't allow actionable deletion of relations if not all members are downloaded --- modules/validations/missing_tag.js | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/modules/validations/missing_tag.js b/modules/validations/missing_tag.js index 6d472c4ae..49d2fe832 100644 --- a/modules/validations/missing_tag.js +++ b/modules/validations/missing_tag.js @@ -49,6 +49,15 @@ export function validationMissingTag() { var issues = []; + var deleteFixOnClick = function() { + var id = this.issue.entities[0].id; + operationDelete([id], context)(); + }; + if (entity.type === 'relation' && + !entity.members.every(function(member) { return context.hasEntity(member.id); })) { + deleteFixOnClick = null; + } + issues.push(new validationIssue({ type: type, // error if created or modified, else warning @@ -67,10 +76,7 @@ export function validationMissingTag() { new validationIssueFix({ icon: 'iD-operation-delete', title: t('issues.fix.delete_feature.title'), - onClick: function() { - var id = this.issue.entities[0].id; - operationDelete([id], context)(); - } + onClick: deleteFixOnClick }) ] }));