From e781c02863f27830a48c6ab40012f5298521be0d Mon Sep 17 00:00:00 2001 From: Tom MacWright Date: Wed, 9 Jan 2013 16:18:19 -0500 Subject: [PATCH] Warn before leaving when you have changes. Fixes #341 --- js/id/id.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/js/id/id.js b/js/id/id.js index 1c5c347aa..46d6acbd6 100644 --- a/js/id/id.js +++ b/js/id/id.js @@ -173,6 +173,18 @@ window.iD = function(container) { .text(num_changes); }); + history.on('change.warn-unload', function() { + var changes = history.changes(), + + has_changes = !!d3.sum(d3.values(changes).map(function(c) { + return c.length; + })); + + window.onbeforeunload = has_changes ? function() { + return 'You have unsaved changes.'; + } : null; + }); + bar.append('div') .attr('class', 'messages');