I am looking for a way to render a graph in HTML, exclusively using mxGraph Javascript, without using an SVG canvas. The user manual says:
mxGraph also includes a function that fully displays html, this limits the range of available functions, but is suitable for simpler diagrams. "
However, I tried the following without success:
var editor = new mxEditor();
var graph = new mxGraph(graphContElem, new mxGraphModel(), 'fastest');
graph.setHtmlLabels(true);
graph.dialect = mxConstants.DIALECT_STRICTHTML;
editor.graph = graph;
editor.createGraph();
Adding this cell:
var prototype = new mxCell('<input type="text" value="test" />', new mxGeometry(0, 0, w, h), style);
prototype.setVertex(true);
... import cells ...
It leads to the following:
<svg style="width: 100%; height: 100%; display: block; min-width: 1px; min-height: 1px;">
...
<g transform="translate(104,61)">
<foreignObject style="overflow:visible;" pointer-events="all" width="173" height="19">
<div style="display:inline-block;font-size:11px;font-family:Arial,Helvetica;color:#774400;line-height:1.2;vertical-align:top;white-space:nowrap;text-align:center;">
<div xmlns="http://www.w3.org/1999/xhtml" style="display:inline-block;text-align:inherit;text-decoration:inherit;">
<input type="text" value="test">
</div>
</div>
</foreignObject>
</g>
...
</svg>
My goal is to develop a form editor; therefore, the graph cells will be HTML widgets or web components, such as, for example, input fields.
Is this possible with mxGraph? Thanks in advance!