2017-06-15 2 views
1

Je veux dire sur le type d'application avec la palette sur la gauche et la zone du diagramme sur le côté droit.Comment ajouter une nouvelle propriété au modèle de noeud qui sera enregistré dans le modèle de diagramme JSON en utilisant GoJS?

Par exemple je le modèle de noeud suivant:

var inputTemplate = 
    $(go.Node, "Spot", 
    nodeStyle(), 
    $(go.Shape, "Circle", shapeStyle1(), 
     { fill: red }), // override the default fill (from shapeStyle1()) to be red 
    $(go.Shape, "Rectangle", portStyle(false), // the only port 
     { portId: "", alignment: new go.Spot(1, 0.5) }), 
    { 
     doubleClick: function (e, obj) { 
      window.open("http://www.microsoft.com", "_blank"); 
    }} 
    ); 

et que vous voulez ajouter la propriété Guid au niveau du noeud qui apparaîtra dans le modèle JSON lorsque nous enregistrons le diagramme en utilisant la fonction toJson. Comment faire?

Répondre

0

Vous pouvez ajouter autant de propriétés que vous le souhaitez aux données du modèle. Assurez-vous simplement que le nom de la propriété ne commence pas par un trait de soulignement ("_") et que la valeur de la propriété est JSON-sérialisable. Lisez à propos des exigences au https://gojs.net/latest/api/symbols/Model.html.

Si vous souhaitez utiliser les GUID comme valeurs clés, assurez-vous d'abord que toutes vos données de noeud existantes possèdent des valeurs de chaîne GUID uniques. Et définissez Model.makeUniqueKeyFunction à une fonction qui renvoie une nouvelle chaîne GUID. Il s'agit d'un doublon de https://forum.nwoods.com/t/how-to-add-new-property-to-node-template-that-will-be-saved-to-json-diagram-model/8726.