Created
January 8, 2020 23:40
-
-
Save canimus/183c37085b2e1c5c346b6071d354a328 to your computer and use it in GitHub Desktop.
JsGraphNetworkX
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html lang="en"> | |
<head> | |
<meta charset="UTF-8"> | |
<meta name="viewport" content="width=device-width, initial-scale=1"> | |
<meta http-equiv="X-UA-Compatible" content="ie=edge"> | |
<script src="/static/d3.min.js"></script> | |
<script src="/static/vue.js"></script> | |
<script src="/static/jsnetworkx.js"></script> | |
<link rel="stylesheet" href="/static/font-awesome-4.7.0/css/font-awesome.min.css"> | |
<link rel="stylesheet" href="/static/bulma-0.8.0/css/bulma.min.css"> | |
<title>Graph</title> | |
</head> | |
<body> | |
<div class="container"> | |
<nav class="navbar" role="navigation" aria-label="main navigation"> | |
<div class="navbar-brand"> | |
<a class="navbar-item" href="https://bulma.io"> | |
<img src="https://bulma.io/images/bulma-logo.png" width="112" height="28"> | |
</a> | |
<a role="button" class="navbar-burger burger" aria-label="menu" aria-expanded="false" data-target="navbarBasicExample"> | |
<span aria-hidden="true"></span> | |
<span aria-hidden="true"></span> | |
<span aria-hidden="true"></span> | |
</a> | |
</div> | |
<div id="navbarBasicExample" class="navbar-menu"> | |
<div class="navbar-start"> | |
<a class="navbar-item"> | |
Home | |
</a> | |
<a class="navbar-item"> | |
Documentation | |
</a> | |
<div class="navbar-item has-dropdown is-hoverable"> | |
<a class="navbar-link"> | |
More | |
</a> | |
<div class="navbar-dropdown"> | |
<a class="navbar-item"> | |
About | |
</a> | |
<a class="navbar-item"> | |
Jobs | |
</a> | |
<a class="navbar-item"> | |
Contact | |
</a> | |
<hr class="navbar-divider"> | |
<a class="navbar-item"> | |
Report an issue | |
</a> | |
</div> | |
</div> | |
</div> | |
<div class="navbar-end"> | |
<div class="navbar-item"> | |
<div class="buttons"> | |
<a class="button is-primary"> | |
<strong>Sign up</strong> | |
</a> | |
<a class="button is-light"> | |
Log in | |
</a> | |
</div> | |
</div> | |
</div> | |
</div> | |
</nav> | |
<div class="tile is-ancestor"> | |
<div class="tile is-parent is-12"> | |
<article class="tile is-child box"> | |
<p class="title">Mortgages</p> | |
<p class="subtitle">Network Diagram</p> | |
<div class="mermaid" id="canvas"> | |
</div> | |
</article> | |
</div> | |
</div> | |
</div> | |
<script> | |
function computeGraph(position) { | |
let svg = mermaid.mermaidAPI.render("flowchart", "graph LR\n" + G.edges(position).map(a=>{return `${a[0]}-->${a[1]}`}).reduce((a,b)=>{return `${a}\n${b}`})) | |
document.getElementById("canvas").innerHTML = svg | |
} | |
var G = new jsnx.DiGraph(); | |
data = [] | |
fetch("/json").then(d=>d.json()).then(d=>{ | |
data=d | |
let a = data.map(d=>d.fromStatus) | |
let b = data.map(d=>d.toStatus) | |
let union = new Set([...a, ...b]); | |
G.addNodesFrom(union) | |
G.addEdgesFrom(data.map(d=>{return [d.fromStatus, d.toStatus]})) | |
computeGraph(0) | |
}) | |
</script> | |
<script src="/static/mermaid.min.js"></script> | |
<script>mermaid.initialize({startOnLoad:false});</script> | |
</body> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment