wip: Experimenting with new approach - dividing visualEditor module
[fnpeditor.git] / modules / sourceEditor.js
index 787bfb9..248c02d 100644 (file)
@@ -1,12 +1,20 @@
-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
 \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
     $('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
     return {\r
         start: function() {\r
             sandbox.publish('ready');\r
@@ -15,11 +23,12 @@ rng.modules.sourceEditor = function(sandbox) {
             return view;\r
         },\r
         setDocument: function(document) {\r
             return view;\r
         },\r
         setDocument: function(document) {\r
-            $('textarea', view).val(document);\r
+            editor.setValue(document);\r
+            editor.gotoLine(0)\r
             isDirty = false;\r
         },\r
         getDocument: function() {\r
             isDirty = false;\r
         },\r
         getDocument: function() {\r
-            return $('textarea', view).val();\r
+            return editor.getValue();\r
         },\r
         isDirty: function() {\r
             return isDirty;\r
         },\r
         isDirty: function() {\r
             return isDirty;\r
@@ -29,4 +38,6 @@ rng.modules.sourceEditor = function(sandbox) {
         }\r
     \r
     }\r
         }\r
     \r
     }\r
-};
\ No newline at end of file
+};\r
+\r
+});
\ No newline at end of file