diff --git a/gui/dags.html b/gui/dags.html
index 70885ea..b4765e2 100644
--- a/gui/dags.html
+++ b/gui/dags.html
@@ -130,6 +130,9 @@
DAGittyControl.getView().closeDialog()
}
}
+
+ // Attempt to load DAG from the URL parameter "adjmatrix"
+ loadDagFromUrlParameter();
}
window.onload = initialize;
diff --git a/gui/js/main.js b/gui/js/main.js
index 952690a..fea51da 100644
--- a/gui/js/main.js
+++ b/gui/js/main.js
@@ -429,6 +429,27 @@ function loadDAGFromTextData(){
document.getElementById("adj_matrix").style.backgroundColor="#fff";
}
+// Read a Dag from a URL parameter
+// e.g. http://www.dagitty.net/dags.html?adjmatrix=B%201%20@1.400,-1.460%0AD%20O%20@1.400,1.621%0A%0AB%20D
+function loadDagFromUrlParameter(){
+ var adjMatrixFromUrlParameter = getUrlParameter("adjmatrix");
+ if((adjMatrixFromUrlParameter!==undefined) && (adjMatrixFromUrlParameter!='')){
+ document.getElementById("adj_matrix").value = adjMatrixFromUrlParameter;
+ loadDAGFromTextData();
+ }
+}
+
+function getUrlParameter(sParam) {
+ var sPageURL = decodeURIComponent(window.location.search.substring(1));
+ var sURLVariables = sPageURL.split('&');
+ for (var i = 0; i < sURLVariables.length; i++) {
+ var sParameterName = sURLVariables[i].split('=');
+ if (sParameterName[0] === sParam) {
+ return sParameterName[1] === undefined ? true : sParameterName[1];
+ }
+ }
+};
+
function generateSpringLayout(){
var layouter = new GraphLayouter.Spring( Model.dag );
_.each(Model.dag.edges,function(e){delete e["layout_pos_x"];delete e["layout_pos_y"]})