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();
}
};
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]),
documentIsDirty = true;
});
},
+ changesCommited: function() {
+ return !documentEditedHere;
+ },
+ commitChanges: commitDocument,
getDocument: function() {
return editor.getValue();
}