In der mxGraph-Lernprogrammseite kann das benutzerdefinierte Benutzerobjekt mithilfe der graph.insertVertex() -Methode parametrisiert werden.mxGraph benutzerdefiniertes Benutzerobjekt mit xml untergeordneten Elementen lesen und schreiben
mxCell with custom user object value
Das benutzerdefinierte Objekt ist mit XML-Format von der Vorlage in dem wfeditor-commons.xml in den Workflow-Editor enthaltenen Beispielen definiert.
Aber was ist ein besserer Weg, um die Kinder Elemente über HTMLCollection zu bauen? Die folgende XML-Datei ist meine eigene definierte Vorlage. Ich muss das Child-Element Beschreibung und ActivityType beibehalten, wenn ein Wert geändert wurde.
<add as="task">
<Activity label="Task" name="" code="">
<Description/>
<ActivityType type="TaskNode"/>
<mxCell vertex="1">
<mxGeometry as="geometry" width="72" height="32"/>
</mxCell>
</Activity>
</add>
Um die Kinder XML-Element Beschreibung und Activity Knoten durch diese Codes zuzugreifen:
var model = this.graph.getModel();
var snode = model.getSelectedCell(); //to get current selected cell
var id = snode.id;
var label = $(snode).attr("label"); //get xml node attribute
var descriptionNode = $(snode.value).children("Description");
var descriptionTextContent = $(descriptionNode).text(); //get xml node text
var activityTypeNode = $(snode.value).children("ActivityType");
var activityTypeAttr = $(activityTypeNode).attr("type"); //get xml node attribute
Ich bin nicht sicher, ob dies eine effektive Methode ist die individuelle Benutzerobjekt lesen und schreiben durch HTMLCollection zu implementieren.
Übrigens, wenn die benutzerdefinierten Benutzerobjekt Kinderelemente geändert wurden, und müssen gespeichert werden. Wie legt man den Wert des Knotenattributs und des Textinhalts fest? Nachdem diese Werte geändert wurden, muss auch die Set-Value-Methode aufgerufen werden, um das Benutzerobjekt zu aktualisieren. Danke