From 8d342cf27fb5e71bcb1e6af08f49a19ee58e9629 Mon Sep 17 00:00:00 2001 From: Paul Cuddihy Date: Fri, 5 Aug 2022 11:49:04 -0400 Subject: [PATCH] SPARQLgraph accepts "conn" parameter in URL --- sparqlGraphWeb/sparqlGraph/js/sparqlgraph.js | 40 +++++++++++++++++++- 1 file changed, 38 insertions(+), 2 deletions(-) diff --git a/sparqlGraphWeb/sparqlGraph/js/sparqlgraph.js b/sparqlGraphWeb/sparqlGraph/js/sparqlgraph.js index 8e66ef6b9..c00d9ae52 100644 --- a/sparqlGraphWeb/sparqlGraph/js/sparqlgraph.js +++ b/sparqlGraphWeb/sparqlGraph/js/sparqlgraph.js @@ -151,8 +151,29 @@ // load last connection - var conn = gLoadDialog.getLastConnectionInvisibly(); - + var conn = gLoadDialog.getLastConnectionInvisibly(); + + // override with URL parameter if any + var connStr = getUrlParameter("conn"); + if (connStr) { + try { + // parse the URL param into a connection + conn = new SparqlConnection(connStr); + + var existName = gLoadDialog.connectionIsKnown(conn, true); + if (!existName) { + // add to cookies if it doesn't exist' + gLoadDialog.addConnection(conn); + } else { + // update name to match existing cookie + conn.setName(existName); + } + } catch (e) { + ModalIidx.alert("Error loading conn parameter", "Can't load poorly formed 'conn' parameter on URL:

" + connStr); + console.log(e.stack); + } + } + if (conn) { doLoadConnection(conn); @@ -208,6 +229,21 @@ }); }); + var getUrlParameter = function getUrlParameter(sParam) { + var sPageURL = window.location.search.substring(1); + var sURLVariables = sPageURL.split('&'); + var sParameterName; + + for (var i = 0; i < sURLVariables.length; i++) { + sParameterName = sURLVariables[i].split('='); + + if (sParameterName[0] === sParam) { + return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]); + } + } + return false; + }; + var onkeyupCanvas = function(e) { if (e.ctrlKey) { if (e.key == 'z') {