@@ -157,10 +157,19 @@ var RED = (function() { | |||
] | |||
}); | |||
// from http://css-tricks.com/snippets/javascript/get-url-variables/ | |||
function getQueryVariable(variable) { | |||
var query = window.location.search.substring(1); | |||
var vars = query.split("&"); | |||
for (var i=0;i<vars.length;i++) { | |||
var pair = vars[i].split("="); | |||
if(pair[0] == variable){return pair[1];} | |||
} | |||
return(false); | |||
} | |||
function loadNodes() { | |||
console.log("loadNodes"); | |||
$.get('list.html', function(data) { | |||
console.log("loadNodes complete"); | |||
$("body").append(data); | |||
$(".palette-spinner").hide(); | |||
$(".palette-scroll").show(); | |||
@@ -171,6 +180,12 @@ var RED = (function() { | |||
$("#btn-deploy").removeClass("disabled").addClass("btn-danger"); | |||
}, 1500); | |||
$('#btn-deploy').click(function() { save(); }); | |||
// if the query string has ?info=className, populate info tab | |||
var info = getQueryVariable("info"); | |||
if (info) { | |||
$("#tab-info").html('<div class="node-help">' | |||
+($("script[data-help-name|='"+info+"']").html()||"")+"</div>"); | |||
} | |||
}, "html"); | |||
} | |||
@@ -71,7 +71,10 @@ RED.nodes = (function() { | |||
function getType(type) { | |||
return node_defs[type]; | |||
} | |||
function selectNode(name) { | |||
window.history.pushState(null, null, window.location.protocol + "//" | |||
+ window.location.host + window.location.pathname + '?info=' + name); | |||
} | |||
function addNode(n) { | |||
if (n._def.category == "config") { | |||
configNodes[n.id] = n; | |||
@@ -453,6 +456,7 @@ RED.nodes = (function() { | |||
registerType: registerType, | |||
getType: getType, | |||
convertNode: convertNode, | |||
selectNode: selectNode, | |||
add: addNode, | |||
addLink: addLink, | |||
remove: removeNode, |
@@ -98,8 +98,9 @@ RED.palette = (function() { | |||
content: $(($("script[data-help-name|='"+nt+"']").html()||"<h2>empty</h2><p>no information available</p>").trim())[2] // TODO: how to use jQuery to always select the first <p> within the html? | |||
}); | |||
$(d).click(function() { | |||
var help = '<div class="node-help">'+($("script[data-help-name|='"+d.type+"']").html()||"")+"</div>"; | |||
$("#tab-info").html(help); | |||
RED.nodes.selectNode(d.type); | |||
var help = '<div class="node-help">'+($("script[data-help-name|='"+d.type+"']").html()||"")+"</div>"; | |||
$("#tab-info").html(help); | |||
}); | |||
$(d).draggable({ | |||
helper: 'clone', |
@@ -675,6 +675,7 @@ RED.view = (function() { | |||
} | |||
if (moving_set.length == 1) { | |||
RED.sidebar.info.refresh(moving_set[0].n); | |||
RED.nodes.selectNode(moving_set[0].n.type); | |||
} else { | |||
RED.sidebar.info.clear(); | |||
} |