2017-10-13 4 views
0

J'ai défini un GraphLinksModel comme ceci:sur mesure linkDataArray GoJs

$(go.GraphLinksModel, 
    { 
     archetypeNodeData: {}, 
     linkFromPortIdProperty: 'source', 
     linkFromKeyProperty: 'sourceColumn', 
     linkToPortIdProperty: 'destination', 
     linkToKeyProperty: 'destinationColumn', 
     'Changed': (e) => { 
     if (e.isTransactionFinished) { 
      console.log('Changed ' + this.diagram.model.toJson()); 
     } 
     }, 
     nodeDataArray: this.visualOrigins, 
     linkDataArray: this.relations 
    }); 

Cela génère une sortie:

"linkDataArray": [ 
    {"source":"Record1", "sourceColumn":"field1", "destination":"Record2", 
    "destinationColumn":"fieldA"} 
]} 

Il est possible de générer cette sortie, mais avec les objets javascript qui font référence à l'intérieur il? Comme ceci:

"linkDataArray": [ 
    {"source":"Record1", 
    "sourceObjectNode": {sourceObjectReferenced}, 
    "sourceColumn":"field1", 
    "sourceColumnObjectNode": {sourceColumnObjectNodeReferenced}, 
    "destination":"Record2", 
    "destinationObjectNode": {destinationObjectNodeReferenced}, 
    "destinationColumn":"fieldA", 
    "destinationColumnNode": {destinationColumnObjectNodeReferenced}} 
]} 

Le but de ceci serait d'avoir les nœuds liés sans faire aucun traitement.

Merci à l'avance

+0

Bien sûr, {sourceColumnObjectNodeReferenced} serait un json bien formé. –

Répondre

0

Réponse du forum de GoJS.

https://forum.nwoods.com/t/insert-node-object-inside-linkdataarray/9395

« Non, ce n'est pas valide texte JSON format Aussi, je ne pense pas qu'il est logique pour mettre les définitions de nœuds dans les liens, ils devraient être dans Model.nodeDataArray, de sorte qu'ils puissent être partagés par toutes les références des liens. "