From: Aleksander Ɓukasz Date: Wed, 5 Mar 2014 10:25:38 +0000 (+0100) Subject: editor: fix - changes made via source editor now get correctly committed event if... X-Git-Url: https://git.mdrn.pl/fnpeditor.git/commitdiff_plain/62785e07d962daae8e0a84283ac5da8e2a019595 editor: fix - changes made via source editor now get correctly committed event if tab change didn't occur --- diff --git a/src/editor/modules/rng/rng.js b/src/editor/modules/rng/rng.js index 801473b..05e0620 100644 --- a/src/editor/modules/rng/rng.js +++ b/src/editor/modules/rng/rng.js @@ -142,6 +142,10 @@ return function(sandbox) { views.mainLayout.setView('topPanel', sandbox.getModule('mainBar').getView()); }, 'cmd.save': function() { + var sourceEditor = sandbox.getModule('sourceEditor'); + if(!sourceEditor.changesCommited()) { + sourceEditor.commitChanges(); + } sandbox.getModule('data').saveDocument(); } }; diff --git a/src/editor/modules/sourceEditor/sourceEditor.js b/src/editor/modules/sourceEditor/sourceEditor.js index 1930939..8f0c833 100644 --- a/src/editor/modules/sourceEditor/sourceEditor.js +++ b/src/editor/modules/sourceEditor/sourceEditor.js @@ -22,10 +22,14 @@ return function(sandbox) { view.onHide = function() { if(documentEditedHere) { - documentEditedHere = false; - wlxmlDocument.loadXML(editor.getValue()); + commitDocument(); } }; + + var commitDocument = function() { + documentEditedHere = false; + wlxmlDocument.loadXML(editor.getValue()); + }; /* globals ace */ var editor = ace.edit(view.find('#rng-sourceEditor-editor')[0]), @@ -53,6 +57,10 @@ return function(sandbox) { documentIsDirty = true; }); }, + changesCommited: function() { + return !documentEditedHere; + }, + commitChanges: commitDocument, getDocument: function() { return editor.getValue(); }