X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/811645a7d810c562f38edc705affff6822ebbdc9..1067bdcc2f6038b6ffd6a9e3100b0ff75eeb672a:/src/editor/modules/sourceEditor/sourceEditor.js diff --git a/src/editor/modules/sourceEditor/sourceEditor.js b/src/editor/modules/sourceEditor/sourceEditor.js index c805b1b..12536ac 100644 --- a/src/editor/modules/sourceEditor/sourceEditor.js +++ b/src/editor/modules/sourceEditor/sourceEditor.js @@ -15,17 +15,20 @@ return function(sandbox) { editor.gotoLine(0); documentEditedHere = false; - sandbox.publish('documentSet'); documentIsDirty = false; } }; 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]), @@ -34,10 +37,6 @@ return function(sandbox) { session.setMode('ace/mode/xml'); session.setUseWrapMode(true); - $('textarea', view).on('keyup', function() { - documentEditedHere = true; - }); - editor.getSession().on('change', function() { documentEditedHere = true; }); @@ -53,7 +52,14 @@ return function(sandbox) { wlxmlDocument.on('change', function() { documentIsDirty = true; }); + wlxmlDocument.on('contentSet', function() { + documentIsDirty = true; + }); + }, + changesCommited: function() { + return !documentEditedHere; }, + commitChanges: commitDocument, getDocument: function() { return editor.getValue(); }