fnp
/
fnpeditor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
smartxml: TextNodes don't contain other nodes - let them state that
[fnpeditor.git]
/
src
/
editor
/
modules
/
sourceEditor
/
sourceEditor.js
diff --git
a/src/editor/modules/sourceEditor/sourceEditor.js
b/src/editor/modules/sourceEditor/sourceEditor.js
index
8159680
..
12536ac
100644
(file)
--- a/
src/editor/modules/sourceEditor/sourceEditor.js
+++ b/
src/editor/modules/sourceEditor/sourceEditor.js
@@
-1,10
+1,10
@@
-define(
function(
) {
+define(
['libs/jquery', 'libs/text!./template.html'], function($, template
) {
'use strict';
return function(sandbox) {
'use strict';
return function(sandbox) {
- var view = $(
sandbox.getTemplate('main')()
),
+ var view = $(
template
),
documentIsDirty = true,
documentEditedHere = false,
wlxmlDocument;
documentIsDirty = true,
documentEditedHere = false,
wlxmlDocument;
@@
-13,28
+13,30
@@
return function(sandbox) {
if(documentIsDirty) {
editor.setValue(wlxmlDocument.toXML());
editor.gotoLine(0);
if(documentIsDirty) {
editor.setValue(wlxmlDocument.toXML());
editor.gotoLine(0);
- sandbox.publish('documentSet');
+ documentEditedHere = false;
+
documentIsDirty = false;
}
documentIsDirty = false;
}
- }
+ }
;
view.onHide = function() {
if(documentEditedHere) {
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 = editor.getSession();
var editor = ace.edit(view.find('#rng-sourceEditor-editor')[0]),
session = editor.getSession();
- editor.setTheme(
"ace/theme/chrome"
);
- session.setMode(
"ace/mode/xml")
+ editor.setTheme(
'ace/theme/chrome'
);
+ session.setMode(
'ace/mode/xml');
session.setUseWrapMode(true);
session.setUseWrapMode(true);
- $('textarea', view).on('keyup', function() {
- documentEditedHere = true;
- });
-
editor.getSession().on('change', function() {
documentEditedHere = true;
});
editor.getSession().on('change', function() {
documentEditedHere = true;
});
@@
-50,7
+52,14
@@
return function(sandbox) {
wlxmlDocument.on('change', function() {
documentIsDirty = true;
});
wlxmlDocument.on('change', function() {
documentIsDirty = true;
});
+ wlxmlDocument.on('contentSet', function() {
+ documentIsDirty = true;
+ });
+ },
+ changesCommited: function() {
+ return !documentEditedHere;
},
},
+ commitChanges: commitDocument,
getDocument: function() {
return editor.getValue();
}
getDocument: function() {
return editor.getValue();
}