Wrapping wlxmlNode
[fnpeditor.git] / modules / documentCanvas / documentCanvas.js
index f7d7fd0..e666f0d 100644 (file)
@@ -3,7 +3,8 @@
 define([\r
 'libs/underscore-min',\r
 './transformations', \r
-'libs/text!./template.html'], function(_, transformations, template) {\r
+'./wlxmlNode',\r
+'libs/text!./template.html'], function(_, transformations, wlxmlNode, template) {\r
 \r
 \r
 \r
@@ -22,11 +23,11 @@ return function(sandbox) {
 \r
             this.node.on('mouseover', '[wlxml-tag]', function(e) {\r
                 e.stopPropagation();\r
-                sandbox.publish('nodeHovered', $(e.target));\r
+                sandbox.publish('nodeHovered', new wlxmlNode.Node($(e.target)));\r
             });\r
             this.node.on('mouseout', '[wlxml-tag]', function(e) {\r
                 e.stopPropagation();\r
-                sandbox.publish('nodeBlured', $(e.target));\r
+                sandbox.publish('nodeBlured', new wlxmlNode.Node($(e.target)));\r
             });\r
             this.node.on('click', '[wlxml-tag]', function(e) {\r
                 e.stopPropagation();\r
@@ -169,10 +170,11 @@ return function(sandbox) {
             node.addClass('rng-module-documentCanvas-currentNode');\r
 \r
             this.currentNode = node;\r
-            sandbox.publish('nodeSelected', node);\r
+            sandbox.publish('nodeSelected', new wlxmlNode.Node(node));\r
             \r
         },\r
         selectNode: function(node) {\r
+            node = this.getNodeElement(node);\r
             view._markSelected(node);\r
             var range = document.createRange();\r
             range.selectNodeContents(node[0]);\r
@@ -182,12 +184,8 @@ return function(sandbox) {
             selection.removeAllRanges()\r
             selection.addRange(range);\r
         },\r
-        selectNodeById: function(id) {\r
-            var node = this.node.find('#'+id);\r
-            if(node)\r
-                this.selectNode(node);\r
-        },\r
         highlightNode: function(node) {\r
+            node = this.getNodeElement(node);\r
             if(!this.gridToggled) {\r
                 node.addClass('rng-common-hoveredNode');\r
                 var label = node.attr('wlxml-tag');\r
@@ -198,21 +196,12 @@ return function(sandbox) {
             }\r
         },\r
         dimNode: function(node) {\r
+            node = this.getNodeElement(node);\r
             if(!this.gridToggled) {\r
                 node.removeClass('rng-common-hoveredNode');\r
                 node.find('.rng-module-documentCanvas-hoveredNodeTag').remove();\r
             }\r
         },\r
-        highlightNodeById: function(id) {\r
-            var node = this.node.find('#'+id);\r
-            if(node)\r
-                this.highlightNode(node);\r
-        },\r
-        dimNodeById: function(id) {\r
-            var node = this.node.find('#'+id);\r
-            if(node)\r
-                this.dimNode(node);\r
-        },\r
         selectFirstNode: function() {\r
             var firstNodeWithText = this.node.find('[wlxml-tag]').filter(function() {\r
                 return $(this).clone().children().remove().end().text().trim() !== '';\r
@@ -223,11 +212,14 @@ return function(sandbox) {
             else {\r
                 node = this.node.find('[wlxml-class|="p"]')\r
             }\r
-            this.selectNode(node);\r
+            this.selectNode(new wlxmlNode.Node(node));\r
         },\r
         toggleGrid: function(toggle) {\r
             this.node.find('[wlxml-tag]').toggleClass('rng-common-hoveredNode', toggle);\r
             this.gridToggled = toggle;\r
+        },\r
+        getNodeElement: function(wlxmlNode) {\r
+            return this.node.find('#'+wlxmlNode.id);\r
         }\r
     };\r
     \r
@@ -247,14 +239,14 @@ return function(sandbox) {
             if(view.currentNode)\r
                 view.currentNode.attr('wlxml-'+attr, value);\r
         },\r
-        highlightNode: function(id) {\r
-            view.highlightNodeById(id);\r
+        highlightNode: function(wlxmlNode) {\r
+            view.highlightNode(wlxmlNode);\r
         },\r
-        dimNode: function(id) {\r
-            view.dimNodeById(id);\r
+        dimNode: function(wlxmlNode) {\r
+            view.dimNode(wlxmlNode);\r
         },\r
-        selectNode: function(id) {\r
-            view.selectNodeById(id);\r
+        selectNode: function(wlxmlNode) {\r
+            view.selectNode(wlxmlNode);\r
         },\r
         toggleGrid: function(toggle) {\r
             view.toggleGrid(toggle);\r