X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/5713cbab555401cab4cb69012bf1d5ec47153982..f4b30e13f370f50a926971df2d23ca423a0c88d8:/src/editor/modules/nodePane/nodePane.js?ds=inline

diff --git a/src/editor/modules/nodePane/nodePane.js b/src/editor/modules/nodePane/nodePane.js
index b2a1161..02ae2cc 100644
--- a/src/editor/modules/nodePane/nodePane.js
+++ b/src/editor/modules/nodePane/nodePane.js
@@ -10,17 +10,16 @@ define([
 
 return function(sandbox) {
     
-    var view = $(_.template(templateSrc)({tagNames: wlxmlUtils.wlxmlTagNames, classNames: wlxmlUtils.wlxmlClassNames})),
+    var view = $(_.template(templateSrc)({utils: wlxmlUtils})),
         currentNode;
     
     view.on('change', 'select', function(e) {
         var target = $(e.target);
         var attr = target.attr('class').split('-')[3] === 'tagSelect' ? 'Tag' : 'Class',
             value = target.val().replace(/-/g, '.');
-                
         currentNode['set' + attr](value);
     });
-    
+   
     return {
         start: function() {
             sandbox.publish('ready');
@@ -29,14 +28,25 @@ return function(sandbox) {
             return view;
         },
         setNodeElement: function(wlxmlNodeElement) {
+            var module = this;
+            if(!currentNode) {
+                wlxmlNodeElement.document.on('change', function(event) {
+                    if(event.type === 'nodeAttrChange' && event.meta.node.sameNode(currentNode)) {
+                        module.setNodeElement(currentNode);
+                    }
+                });
+            }
+
             view.find('.rng-module-nodePane-tagSelect').val(wlxmlNodeElement.getTagName());
 
-            var escapedClassName = (wlxmlNodeElement.getClass() || '').replace(/\./g, '-')
+            var escapedClassName = (wlxmlNodeElement.getClass() || '').replace(/\./g, '-');
             view.find('.rng-module-nodePane-classSelect').val(escapedClassName);
 
-            var widget = metaWidget.create({attrs:wlxmlNodeElement.getMetaAttributes()});
+            var attrs = _.extend(wlxmlNodeElement.getMetaAttributes(), wlxmlNodeElement.getOtherAttributes());
+            var widget = metaWidget.create({attrs:attrs});
             widget.on('valueChanged', function(key, value) {
-                sandbox.publish('nodeElementChange', key, value);
+                wlxmlNodeElement.setMetaAttribute(key, value);
+                //wlxmlNodeElement.setMetaAttribute(key, value);
             });
             view.find('.metaFields').empty().append(widget.el);