mirror of
https://bitbucket.org/wisemapping/wisemapping-open-source.git
synced 2024-11-25 23:44:54 +01:00
Serialize node text with CDATA.
This commit is contained in:
parent
99146de711
commit
7ec7c18524
@ -65,7 +65,6 @@ mindplot.XMLMindmapSerializer_Pela = new Class({
|
||||
if (topic.getType() == mindplot.model.INodeModel.CENTRAL_TOPIC_TYPE) {
|
||||
parentTopic.setAttribute("central", true);
|
||||
} else {
|
||||
var parent = topic.getParent();
|
||||
|
||||
var pos = topic.getPosition();
|
||||
parentTopic.setAttribute("position", pos.x + ',' + pos.y);
|
||||
@ -77,7 +76,7 @@ mindplot.XMLMindmapSerializer_Pela = new Class({
|
||||
|
||||
var text = topic.getText();
|
||||
if ($defined(text)) {
|
||||
parentTopic.setAttribute('text', text);
|
||||
this._noteTextToXML(document, parentTopic, text);
|
||||
}
|
||||
|
||||
var shape = topic.getShapeType();
|
||||
@ -179,6 +178,17 @@ mindplot.XMLMindmapSerializer_Pela = new Class({
|
||||
return noteDom;
|
||||
},
|
||||
|
||||
_noteTextToXML : function(document, elem, text) {
|
||||
if (text.indexOf('\n') == -1) {
|
||||
elem.setAttribute('text', text);
|
||||
} else {
|
||||
var textDom = document.createElement("text");
|
||||
var cdata = document.createCDATASection(text);
|
||||
textDom.appendChild(cdata);
|
||||
elem.appendChild(textDom);
|
||||
}
|
||||
},
|
||||
|
||||
_relationshipToXML : function(document, relationship) {
|
||||
var relationDom = document.createElement("relationship");
|
||||
relationDom.setAttribute("srcTopicId", relationship.getFromNode());
|
||||
@ -319,7 +329,7 @@ mindplot.XMLMindmapSerializer_Pela = new Class({
|
||||
for (var i = 0; i < children.length; i++) {
|
||||
var child = children[i];
|
||||
if (child.nodeType == Node.ELEMENT_NODE) {
|
||||
$assert(child.tagName == "topic" || child.tagName == "icon" || child.tagName == "link" || child.tagName == "note", 'Illegal node type:' + child.tagName);
|
||||
$assert(child.tagName == "topic" || child.tagName == "icon" || child.tagName == "link" || child.tagName == "note" || child.tagName == "text", 'Illegal node type:' + child.tagName);
|
||||
if (child.tagName == "topic") {
|
||||
var childTopic = this._deserializeNode(child, mindmap);
|
||||
childTopic.connectTo(topic);
|
||||
@ -332,7 +342,11 @@ mindplot.XMLMindmapSerializer_Pela = new Class({
|
||||
} else if (child.tagName == "note") {
|
||||
var note = this._deserializeNote(child, topic);
|
||||
topic.addNote(note);
|
||||
} else if (child.tagName == "text") {
|
||||
var nodeText = this._deserializeNodeText(child);
|
||||
topic.setText(nodeText);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
return topic;
|
||||
@ -362,6 +376,19 @@ mindplot.XMLMindmapSerializer_Pela = new Class({
|
||||
return topic.createNote(value);
|
||||
},
|
||||
|
||||
_deserializeNodeText: function(domElem) {
|
||||
|
||||
var children = domElem.childNodes;
|
||||
var value = null;
|
||||
for (var i = 0; i < children.length; i++) {
|
||||
var child = children[i];
|
||||
if (child.nodeType == Node.CDATA_SECTION_NODE) {
|
||||
value = child.nodeValue;
|
||||
}
|
||||
}
|
||||
return value;
|
||||
},
|
||||
|
||||
_deserializeRelationship : function(domElement, mindmap) {
|
||||
var srcId = domElement.getAttribute("srcTopicId");
|
||||
var destId = domElement.getAttribute("destTopicId");
|
||||
|
Loading…
Reference in New Issue
Block a user