summaryrefslogtreecommitdiff
path: root/graph/web/viewer.js
diff options
context:
space:
mode:
Diffstat (limited to 'graph/web/viewer.js')
-rw-r--r--graph/web/viewer.js42
1 files changed, 13 insertions, 29 deletions
diff --git a/graph/web/viewer.js b/graph/web/viewer.js
index ed14651f..c36c369c 100644
--- a/graph/web/viewer.js
+++ b/graph/web/viewer.js
@@ -79,20 +79,13 @@ async function render(index) {
const frameGeneration = generation;
rendering = true;
const frame = frames[index];
- busy = frame.snap && !frame.layout ? "Laying out frame " + (index + 1) + "..." : "Drawing...";
+ busy = !frame.layout ? "Laying out frame " + (index + 1) + "..." : "Drawing...";
updateUI();
if (frame.pos >= 0) program.setSelectionRange(frame.pos, frame.pos + 1);
try {
- document.getElementById("elk").hidden = !frame.snap;
- document.getElementById("dot").hidden = !!frame.snap;
- if (frame.snap) {
- if (!layout) layout = new GraphLayout();
- if (!frame.layout) frame.layout = await layout.run(frame.snap);
- if (generation === frameGeneration) renderer.show(frame.snap, frame.layout, frame.evt);
- } else {
- document.getElementById("detail").hidden = true;
- await drawDot(frame.dot);
- }
+ if (!layout) layout = new GraphLayout();
+ if (!frame.layout) frame.layout = await layout.run(frame.snap);
+ if (generation === frameGeneration) renderer.show(frame.snap, frame.layout, frame.evt);
rendering = false;
busy = "";
if (generation === frameGeneration) current = index;
@@ -117,8 +110,8 @@ program.addEventListener("keydown", event => {
});
document.getElementById("compile").addEventListener("click", get_program);
document.getElementById("fit").addEventListener("click", () => {
- if (frames[current]?.snap) { renderer.auto = true; renderer.fit(); }
- else render(current);
+ renderer.auto = true;
+ renderer.fit();
});
document.getElementById("assocs").addEventListener("change", event => renderer.assocs(event.target.checked));
document.getElementById("near").addEventListener("change", () => renderer.mark());
@@ -143,22 +136,16 @@ try {
done = true;
compiling = false;
updateUI();
- } else if (message.startsWith("{") || message.startsWith("digraph")) {
+ } else if (message.startsWith("{")) {
let frame;
try {
- if (message.startsWith("{")) {
- frame = JSON.parse(message);
- if (frame.error) {
- failure = "Compile error: " + frame.error;
- updateUI();
- return;
- }
- if (frame.snap.ver !== 1) throw new Error("Unsupported graph version: " + frame.snap.ver);
- } else {
- // Earlier chapters still send bare DOT.
- const pos = message.match(/\/\/ POS:\s*(\d+)/);
- frame = {dot: message, pos: pos ? Number(pos[1]) : -1};
+ frame = JSON.parse(message);
+ if (frame.error) {
+ failure = "Compile error: " + frame.error;
+ updateUI();
+ return;
}
+ if (frame.snap.ver !== 1) throw new Error("Unsupported graph version: " + frame.snap.ver);
} catch (error) {
reportError(error);
return;
@@ -181,9 +168,6 @@ try {
updateUI();
};
- window.addEventListener("resize", () => {
- if (current >= 0 && !frames[current].snap) render(current);
- });
} catch (error) {
reportError(error);
}