* Copyright (c) 2015 Mountainstorm
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
-->
<html>
<head>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/css/bootstrap.min.css">
</head>
<style>
#instructions {
color: #0a0a0a;
position: absolute;
z-index: 100;
bottom: 0px;
left: 0px;
}
.graphviz-svg {
position: relative;
}
.graphviz-svg text {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
cursor: default;
}
</style>
<body>
<h4 id="instructions">Click node to highlight; Shift-scroll to zoom; Esc to unhighlight</h4>
<div id="details", style="float: left; width: 20%; height: 100%; background-color:lightgray; font-color: black; overflow: scroll; padding: 1em;">
<h5>Details</h5>
<p>(Click on a node for details)</p>
</div>
<div id="graph" style="float: right; width: 80%; height: 100%; overflow: scroll;"></div>
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
<script type="text/javascript"
src="https://cdn.rawgit.com/jquery/jquery-mousewheel/master/jquery.mousewheel.min.js"></script>
<script type="text/javascript" src="https://cdn.rawgit.com/jquery/jquery-color/master/jquery.color.js"></script>
<script type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.4/js/bootstrap.min.js"></script>
<script type="text/javascript" src="jquery.graphviz.svg.js"></script>
<script type="text/javascript">
var svg = {{ svg }}
</script>
<script type="text/javascript">
$(document).ready(function () {
$("#graph").graphviz({
svg: svg,
ready: function () {
var gv = this
gv.nodes().click(function () {
var $set = $()
$set.push(this)
$set = $set.add(gv.linkedFrom(this, true))
$set = $set.add(gv.linkedTo(this, true))
gv.highlight($set, false)
gv.tooltip($(this), true)
gv.bringToFront($set)
var tooltip_id = $(this).find("a").attr("aria-describedby")
var tooltip_box = $("#"+tooltip_id).find(".tooltip-inner")
var tooltip_data = tooltip_box.html()
$("#details p").html(tooltip_data)
gv.tooltip($(this), false)
$(this).css('font-weight', 'bold')
})
$(document).keydown(function (evt) {
if (evt.keyCode == 27) {
gv.highlight()
}
})
}
});
});
</script>
</body>
</html>