editor ui: functionality of removing element while keeping its content
[fnpeditor.git] / modules / nodeFamilyTree / nodeFamilyTree.js
index e47821e..688f353 100644 (file)
@@ -1,8 +1,9 @@
 define([
 'libs/jquery-1.9.1.min',
 'libs/underscore-min',
+'utils/wlxml',
 'libs/text!./template.html'
-], function($, _, templateSrc) {
+], function($, _, wlxmlUtils, templateSrc) {
 
 'use strict';
 
@@ -39,7 +40,7 @@ return function(sandbox) {
 
             if(nodeElementParent) {
                 parent = {
-                    repr: nodeElementParent.getWlxmlTag() + (nodeElementParent.getWlxmlClass() ? ' / ' + nodeElementParent.getWlxmlClass() : '')
+                    repr: wlxmlUtils.wlxmlTagNames[nodeElementParent.getWlxmlTag()] + (nodeElementParent.getWlxmlClass() ? ' / ' + wlxmlUtils.wlxmlClassNames[nodeElementParent.getWlxmlClass()] : '')
                 };
             }
         
@@ -48,11 +49,17 @@ return function(sandbox) {
             nodeChildren.forEach(function(child) {
                 if(child.getText) {
                     var text = child.getText();
-                    if(text.length > 13)
-                        text = text.substr(0,13) + '...';
-                    children.push({repr: '"' + text + '"', bold: child.sameNode(textElement)});
+                    if(!text)
+                        text = '<pusty tekst>';
+                    else {
+                        if(text.length > 13) {
+                            text = text.substr(0,13) + '...';
+                        }
+                        text = '"' + text + '"';
+                    }
+                    children.push({repr: _.escape(text), bold: child.sameNode(textElement)});
                 } else {
-                    children.push({repr: child.getWlxmlTag() + (child.getWlxmlClass() ? ' / ' + child.getWlxmlClass() : '')});
+                    children.push({repr: wlxmlUtils.wlxmlTagNames[child.getWlxmlTag()] + (child.getWlxmlClass() ? ' / ' + wlxmlUtils.wlxmlClassNames[child.getWlxmlClass()] : '')});
                 }
             });
             this.dom.empty();