I sorry for the amateurism of this question but how would you go about using the observable runtime to insert a g element from a notebook into a svg tag existing elsewhere ?
I think this would be the solution to my resizing problem as I would have more control on the svg viewBox attribute.
One would have to implement his own observer is the following way
...
componentDidMount() {
// create or use an existing svg node
const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
svg.setAttribute("width", "100%");
svg.setAttribute("height", "300");
svg.setAttribute("id", "svgcontainer");
svg.setAttribute("ref", this.chart_Ref);
mountNode.appendChild(svg); // append it somewhere, here to the React Root defined earlier
runtime.module(define, name => {
if (name === "g_cell") {
// return a custom observer. This one is just returning the `.node()` of the g_cell variable. g_cell is the name of the cell in the notebook (`define`) that is displaying the raw `g`
return {
fulfilled: value => {
svg.appendChild(value.node());
}
};
}
});
}
...