-rng.modules.sourceEditor = function(sandbox) {\r
+define(function() {\r
\r
+return function(sandbox) {\r
+\r
+ var view = $(sandbox.getTemplate('main')());\r
+ var isDirty = false;\r
+ \r
+ var editor = ace.edit(view.find('#rng-sourceEditor-editor')[0]);\r
+ editor.setTheme("ace/theme/chrome");\r
+ editor.getSession().setMode("ace/mode/xml");\r
+ $('textarea', view).on('keyup', function() {\r
+ isDirty = true;\r
+ });\r
+ \r
+ editor.getSession().on('change', function() {\r
+ isDirty = true;\r
+ })\r
return {\r
start: function() {\r
sandbox.publish('ready');\r
},\r
getView: function() {\r
- return $('<p>source editor</p>');\r
+ return view;\r
+ },\r
+ setDocument: function(document) {\r
+ editor.setValue(document);\r
+ editor.gotoLine(0)\r
+ isDirty = false;\r
+ },\r
+ getDocument: function() {\r
+ return editor.getValue();\r
+ },\r
+ isDirty: function() {\r
+ return isDirty;\r
+ },\r
+ setDirty: function(dirty) {\r
+ isDirty = dirty;\r
}\r
\r
}\r
-};
\ No newline at end of file
+};\r
+\r
+});
\ No newline at end of file