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]),
session.setMode('ace/mode/xml');
session.setUseWrapMode(true);
- $('textarea', view).on('keyup', function() {
- documentEditedHere = true;
- });
-
editor.getSession().on('change', function() {
documentEditedHere = true;
});
wlxmlDocument.on('change', function() {
documentIsDirty = true;
});
+ wlxmlDocument.on('contentSet', function() {
+ documentIsDirty = true;
+ });
+ },
+ changesCommited: function() {
+ return !documentEditedHere;
},
+ commitChanges: commitDocument,
getDocument: function() {
return editor.getValue();
}