|
4 | 4 | <head>
|
5 | 5 | <meta charset="UTF-8">
|
6 | 6 | <title>GraphViz WASM</title>
|
7 |
| - <script src="https://cdn.jsdelivr.net/npm/@hpcc-js/wasm/dist/index.min.js"></script> |
8 |
| - <script> |
9 |
| - var hpccWasm = window["@hpcc-js/wasm"]; |
10 |
| - </script> |
11 | 7 | </head>
|
12 | 8 |
|
13 | 9 | <body>
|
14 |
| - <div id="placeholder0"></div> |
15 |
| - <script> |
16 |
| - const test = `\ |
17 |
| -digraph { |
18 |
| - layout = neato |
19 |
| - splines = true |
20 |
| - edge [len = 2] |
21 |
| - a -> b |
22 |
| - b -> a |
23 |
| -}`; |
24 |
| - hpccWasm.graphviz.layout(test, "svg", "dot").then(svg => { |
25 |
| - const div = document.getElementById("placeholder0"); |
26 |
| - div.innerHTML = svg; |
27 |
| - }); |
28 |
| - </script> |
29 |
| - <div id="placeholder1"></div> |
30 |
| - <div id="placeholder2"></div> |
31 |
| - <script> |
| 10 | + <div id="placeholder"></div> |
| 11 | + <script type="module"> |
| 12 | + // Prefer local version (if available) --- |
| 13 | + import { Graphviz as GraphvizLocal } from "./dist/index.js"; |
| 14 | + import { Graphviz as GraphvizExternal } from "https://cdn.jsdelivr.net/npm/@hpcc-js/wasm/dist/index.js"; |
| 15 | + |
| 16 | + const Graphviz = GraphvizLocal ?? GraphvizExternal; |
| 17 | + |
32 | 18 | const dot = `
|
33 | 19 | digraph G {
|
34 | 20 | node [shape=rect];
|
|
61 | 47 | }
|
62 | 48 | `;
|
63 | 49 |
|
64 |
| - // Asynchronous call to layout |
65 |
| - hpccWasm.graphviz.layout(dot, "svg", "dot").then(svg => { |
66 |
| - const div = document.getElementById("placeholder1"); |
67 |
| - div.innerHTML = svg; |
68 |
| - }); |
69 |
| - </script> |
70 |
| - |
71 |
| - <script type="module"> |
72 |
| - import { graphvizSync } from "https://cdn.jsdelivr.net/npm/@hpcc-js/wasm/dist/index.es6.js"; |
73 |
| - |
74 |
| - graphvizSync().then(graphviz => { |
75 |
| - const div = document.getElementById("placeholder2"); |
76 |
| - // Synchronous call to layout |
77 |
| - div.innerHTML = graphviz.layout(dot, "svg", "dot"); |
78 |
| - }); |
| 50 | + const graphviz = await Graphviz.load(); |
| 51 | + const div = document.getElementById("placeholder"); |
| 52 | + div.innerHTML = graphviz.layout(dot, "svg", "dot"); |
79 | 53 | </script>
|
80 | 54 |
|
81 | 55 | </body>
|
|
0 commit comments