refactoring: moving create(wlxmlNode) to constructor, caching element instance
[fnpeditor.git] / src / editor / modules / nodePane / nodePane.js
index 1ecafe1..02ae2cc 100644 (file)
@@ -10,19 +10,14 @@ define([
 
 return function(sandbox) {
     
 
 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;
     
     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, '.');
-                
-        if(attr === 'Class') {
-            //currentNode.document.transform('setClass', {node: currentNode, klass: value});
-            currentNode.transform('smartxml.setAttr', {name: 'class', value: value});
-        }
-        //currentNode['set' + attr](value);
+        currentNode['set' + attr](value);
     });
    
     return {
     });
    
     return {
@@ -47,9 +42,10 @@ return function(sandbox) {
             var escapedClassName = (wlxmlNodeElement.getClass() || '').replace(/\./g, '-');
             view.find('.rng-module-nodePane-classSelect').val(escapedClassName);
 
             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) {
             widget.on('valueChanged', function(key, value) {
-                wlxmlNodeElement.transform('wlxml.setMetaAttribute', {name: key, value: value});
+                wlxmlNodeElement.setMetaAttribute(key, value);
                 //wlxmlNodeElement.setMetaAttribute(key, value);
             });
             view.find('.metaFields').empty().append(widget.el);
                 //wlxmlNodeElement.setMetaAttribute(key, value);
             });
             view.find('.metaFields').empty().append(widget.el);