edit: replace save confirmation by page close protection
authorMischa POSLAWSKY <perl@shiar.org>
Thu, 28 Sep 2017 01:40:05 +0000 (03:40 +0200)
committerMischa POSLAWSKY <perl@shiar.org>
Thu, 28 Sep 2017 02:03:35 +0000 (04:03 +0200)
Warn about exceptional unsaved changes (save pending or forgotten),
not about common save results.

edit.js

diff --git a/edit.js b/edit.js
index 34eb70740ee65cf7f5732b799cd3d1e8029bc177..dfa4a6d099eee90f3cad28bd6f02e34933607eae 100644 (file)
--- a/edit.js
+++ b/edit.js
@@ -19,7 +19,7 @@ CKEDITOR.plugins.add('inlinesave', {
                                        if (ajaxpost.status != 200)
                                                alert('Foutcode '+ajaxpost.status+' bij opslaan: '+ajaxpost.responseText);
                                        else
-                                               alert('Pagina is goed opgeslagen');
+                                               editor.resetDirty();
                                };
                                ajaxpost.send(data);
                        },
@@ -70,6 +70,12 @@ CKEDITOR.on('instanceCreated', function (event) {
                config.disableObjectResizing = true;
                document.execCommand('enableObjectResizing', false, false); // workaround in inline mode; ff bug?
        });
+
+       window.onbeforeunload = function () {
+               if (editor.checkDirty()) {
+                       return 'Pagina verlaten zonder wijzigingen op te slaan?'; // message ignored in modern browsers
+               }
+       };
 });
 
        CKEDITOR.disableAutoInline = true;