From e02ed20bc551de62cd4621ce02ce6d269ec03ff9 Mon Sep 17 00:00:00 2001 From: Sean Roberts Date: Thu, 15 Mar 2018 17:55:46 +0000 Subject: [PATCH 1/2] Read a Dag from a URL parameter --- gui/js/main.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) 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"]}) From 58ec725fd112aad5322909f261a346e56cf22310 Mon Sep 17 00:00:00 2001 From: Sean Roberts Date: Thu, 15 Mar 2018 17:57:47 +0000 Subject: [PATCH 2/2] Read a Dag from a URL parameter --- gui/dags.html | 3 +++ 1 file changed, 3 insertions(+) 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;