Estoy adoptando el código para la matriz de dispersión cepillable usando d3 y jsdom en el lado del servidor para generar el SVG.
SVG está perfectamente generado.
Sin embargo, en el script del nodo también estoy vinculando datos a algunos elementos svg que luego se usan en el lado del cliente para la interacción de eventos del mouse.
Aquí está la instantánea (bien conocida):
var cell = svg.selectAll(".cell") .data(cross(traits, traits)) ...Al final, solo estoy guardando el HTML generado en un archivo usando
jsdom.window.document.querySelector("html").outerHTML; que en realidad no guarda la propiedad __data__ de los elementos .cell .
Por supuesto, cualquier invocación de método que use estos valores en el lado del cliente falla con undefined .
En el lado del servidor en la depuración, puedo ver perfectamente la propiedad __data__ asignada a cada uno de mis elementos svg.
Me pregunto si hay alguna forma de decirle a jsdom que exporte/guarde incluso las propiedades almacenadas durante la generación o ¿se puede hacer más tarde solo en el lado del cliente?