Estoy tratando de representar un gráfico a su estado original desde un objeto JSON guardado que almacena los arreglos de nodos y bordes y todos sus datos respectivos, incluidas las posiciones x, y. Tengo una función onLoad que se activa cuando se carga la página:
const onLoad = (_core) => { core.current = _core; if (savedView.nodes && savedView.node != undefined) { let curElements = JSON.stringify({ nodes: savedView.nodes; edges: savedView.edges; }); let layout = core.current._cy.layout({ name: 'preset' }); layout.run(); core.current._cy.add(JSON.parse(curElements));En el fragmento de código anterior, _core es el objeto de gráfico central de cytoscape que se pasa a la función y la var 'savedView' es un objeto que contiene los nodos y las matrices de bordes que quiero sacar para usar al volver a renderizar el gráfico. Una muestra de un par de elementos contenidos en la matriz de nodos:
{ classes: 'draft-entity' data: { id: 'rkb1' type: 'person' displayName: 'Bob' elementType: 'node' { grabbable: true group: "nodes" locked: false pannable: false position: {x: 334.85120850976364, y: 20} removed: false selectable: true selected: false } { classes: 'draft-entity' data: { id: 'rkb2' type: 'person' displayName: 'Jane' elementType: 'node' { grabbable: true group: "nodes" locked: false pannable: false position: {x: 237, y: 149} removed: false selectable: true selected: false }Cuando los nodos y los bordes se agregan al gráfico, no se representan en la posición en la que estaban cuando se guardó el gráfico. No estoy seguro de lo que estoy haciendo mal aquí. Revisé un par de hilos que mencionaban el uso del diseño 'preestablecido', pero la forma en que lo estoy implementando no parece funcionar.