wip: Experimenting with new approach - dividing visualEditor module
[fnpeditor.git] / modules / visualEditor.js
index cef7de7..65de452 100644 (file)
@@ -1,5 +1,6 @@
-rng.modules.visualEditor = function(sandbox) {\r
-    var transformations = rng.modules.visualEditor.transformations;\r
+define(['./visualEditor.transformations'], function(transformations) {\r
+\r
+return function(sandbox) {\r
 \r
     var view = {\r
         node: $(sandbox.getTemplate('main')()),\r
 \r
     var view = {\r
         node: $(sandbox.getTemplate('main')()),\r
@@ -277,6 +278,7 @@ rng.modules.visualEditor = function(sandbox) {
             var view = this;\r
             this.node.find('#rng-visualEditor-sidebarButtons a').click(function(e) {\r
                 e.preventDefault();\r
             var view = this;\r
             this.node.find('#rng-visualEditor-sidebarButtons a').click(function(e) {\r
                 e.preventDefault();\r
+                e.stopPropagation();\r
                 var target = $(e.currentTarget);\r
                 if(!target.attr('data-content-id'))\r
                     return;\r
                 var target = $(e.currentTarget);\r
                 if(!target.attr('data-content-id'))\r
                     return;\r
@@ -353,7 +355,7 @@ rng.modules.visualEditor = function(sandbox) {
                     mediator.toolbarButtonToggled(btn.attr('data-btn'), btn.hasClass('active'));\r
                 }\r
                 if(btn.attr('data-btn-type') === 'cmd') {\r
                     mediator.toolbarButtonToggled(btn.attr('data-btn'), btn.hasClass('active'));\r
                 }\r
                 if(btn.attr('data-btn-type') === 'cmd') {\r
-                    mediator.toolbarButtonCmd(btn.attr('data-btn'));\r
+                    mediator.toolbarButtonCmd(btn.attr('data-btn'), btn.attr('data-meta'));\r
                 }\r
             });\r
         },\r
                 }\r
             });\r
         },\r
@@ -425,12 +427,19 @@ rng.modules.visualEditor = function(sandbox) {
             if(btn === 'tags')\r
                 view.toggleTags(toggle);\r
         },\r
             if(btn === 'tags')\r
                 view.toggleTags(toggle);\r
         },\r
-        toolbarButtonCmd: function(btn) {\r
+        toolbarButtonCmd: function(btn, meta) {\r
             if(btn === 'new-node') {\r
             if(btn === 'new-node') {\r
+                var wlxmlTag = toolbarView.getOption('newTag-tag');\r
+                var wlxmlClass = toolbarView.getOption('newTag-class');\r
+                if(meta) {\r
+                    var split = meta.split('/');\r
+                    wlxmlTag = split[0];\r
+                    wlxmlClass = split[1];\r
+                }\r
                 if(window.getSelection().isCollapsed)\r
                 if(window.getSelection().isCollapsed)\r
-                    view.insertNewNode(toolbarView.getOption('newTag-tag'), toolbarView.getOption('newTag-class'));\r
+                    view.insertNewNode(wlxmlTag, wlxmlClass);\r
                 else {\r
                 else {\r
-                    this.wrapWithNodeRequest(toolbarView.getOption('newTag-tag'), toolbarView.getOption('newTag-class'));\r
+                    this.wrapWithNodeRequest(wlxmlTag, wlxmlClass);\r
                 }\r
                     \r
                     \r
                 }\r
                     \r
                     \r
@@ -486,4 +495,6 @@ rng.modules.visualEditor = function(sandbox) {
         }\r
     \r
     }\r
         }\r
     \r
     }\r
-};
\ No newline at end of file
+};\r
+\r
+});
\ No newline at end of file