smartxml: Rollback support for transactions
[fnpeditor.git] / src / editor / modules / documentCanvas / documentCanvas.js
index 84fb086..0a31114 100644 (file)
@@ -1,16 +1,16 @@
 // Module that implements main WYSIWIG edit area
 
 define([
-'libs/underscore',
+'libs/jquery',
 './canvas/canvas',
 './commands',
-'libs/text!./template.html'], function(_, canvas3, commands, template) {
+'libs/text!./template.html'], function($, canvas3, commands, template) {
 
 'use strict';
 
 return function(sandbox) {
 
-    var canvas = canvas3.fromXML('', sandbox.publish);
+    var canvas = canvas3.fromXMLDocument(null, sandbox.publish);
     var canvasWrapper = $(template);
     var shownAlready = false;
     var scrollbarPosition = 0,
@@ -34,16 +34,12 @@ return function(sandbox) {
     /* public api */
     return {
         start: function() { sandbox.publish('ready'); },
-        getView: function() { 
+        getView: function() {
             return canvasWrapper;
         },
         setDocument: function(wlxmlDocument) {
             canvas.loadWlxmlDocument(wlxmlDocument);
             canvasWrapper.find('#rng-module-documentCanvas-content').empty().append(canvas.view());
-            sandbox.publish('documentSet');
-        },
-        getDocument: function() {
-            return canvas.toXML();
         },
         modifyCurrentNodeElement: function(attr, value) {
             var currentNodeElement = canvas.getCurrentNodeElement();
@@ -54,18 +50,17 @@ return function(sandbox) {
             }
             sandbox.publish('currentNodeElementChanged', currentNodeElement);
         },
-        highlightElement: function(element) {
-            element.toggleHighlight(true);
+        highlightElement: function(node) {
+            canvas.toggleElementHighlight(node, true);
         },
-        dimElement: function(element) {
-            element.toggleHighlight(false);
+        dimElement: function(node) {
+            canvas.toggleElementHighlight(node, false);
         },
-        jumpToElement: function(element) {
-            canvas.setCurrentElement(element);
+        jumpToElement: function(node) {
+            canvas.setCurrentElement(node);
         },
         command: function(command, params) {
-            commands.run(command, params, canvas);
-            sandbox.publish('contentChanged');
+            commands.run(command, params, canvas, sandbox.getConfig().user);
         }
     };