From 62785e07d962daae8e0a84283ac5da8e2a019595 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Aleksander=20=C5=81ukasz?= Date: Wed, 5 Mar 2014 11:25:38 +0100 Subject: [PATCH] editor: fix - changes made via source editor now get correctly committed event if tab change didn't occur --- src/editor/modules/rng/rng.js | 4 ++++ src/editor/modules/sourceEditor/sourceEditor.js | 12 ++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) 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(); } -- 2.20.1