5a62eafe2a633eccf15b05ff0a5df6ad4ddfd4bb
[fnpeditor.git] / modules / sourceEditor.js
1 rng.modules.sourceEditor = function(sandbox) {\r
2 \r
3     var view = $(sandbox.getTemplate('main')());\r
4     var isDirty = false;\r
5     \r
6     var editor = ace.edit(view.find('#rng-sourceEditor-editor')[0]);\r
7     editor.setTheme("ace/theme/chrome");\r
8     editor.getSession().setMode("ace/mode/xml");\r
9     $('textarea', view).on('keyup', function() {\r
10         isDirty = true;\r
11     });\r
12     \r
13     editor.getSession().on('change', function() {\r
14         isDirty = true;\r
15     })\r
16     return {\r
17         start: function() {\r
18             sandbox.publish('ready');\r
19         },\r
20         getView: function() {\r
21             return view;\r
22         },\r
23         setDocument: function(document) {\r
24             editor.setValue(document);\r
25             editor.gotoLine(0)\r
26             isDirty = false;\r
27         },\r
28         getDocument: function() {\r
29             return editor.getValue();\r
30         },\r
31         isDirty: function() {\r
32             return isDirty;\r
33         },\r
34         setDirty: function(dirty) {\r
35             isDirty = dirty;\r
36         }\r
37     \r
38     }\r
39 };