updated to latest API
This commit is contained in:
+18
-17
@@ -328,10 +328,10 @@ jsPlumb.ready(function() {
|
|||||||
});
|
});
|
||||||
return ret?ret[0]:null;
|
return ret?ret[0]:null;
|
||||||
};
|
};
|
||||||
var checkCondition = function(condition, allMessages) {
|
var checkCondition = function(condition, allCircuits) {
|
||||||
for (var k=0; k+2<condition.length; k+=3) { // "and" loop
|
for (var k=0; k+2<condition.length; k+=3) { // "and" loop
|
||||||
var found = false;
|
var found = false;
|
||||||
var fields = allMessages[condition[k]][condition[k+1]].fields;
|
var fields = allCircuits[condition[k]].messages[condition[k+1]].fields;
|
||||||
var cond = condition[k+2];
|
var cond = condition[k+2];
|
||||||
var key = 0;
|
var key = 0;
|
||||||
if (fields && !fields.hasOwnProperty(key)) {
|
if (fields && !fields.hasOwnProperty(key)) {
|
||||||
@@ -357,8 +357,8 @@ jsPlumb.ready(function() {
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
var addItemFin = function(parent, name, messages, allMessages, needEndpoints, needUris, data) {
|
var addItemFin = function(parent, name, messages, allCircuits, needEndpoints, needUris, data) {
|
||||||
if (data.hasOwnProperty('condition') && !checkCondition(data.condition, allMessages)) return;
|
if (data.hasOwnProperty('condition') && !checkCondition(data.condition, allCircuits)) return;
|
||||||
var child = document.createElement("div");
|
var child = document.createElement("div");
|
||||||
child.className = "circuit";
|
child.className = "circuit";
|
||||||
if (data.hasOwnProperty('image')) {
|
if (data.hasOwnProperty('image')) {
|
||||||
@@ -387,10 +387,10 @@ jsPlumb.ready(function() {
|
|||||||
var circuit = name;
|
var circuit = name;
|
||||||
if (item.circuit) {
|
if (item.circuit) {
|
||||||
circuit = item.circuit;
|
circuit = item.circuit;
|
||||||
if (!allMessages.hasOwnProperty(circuit)) {
|
if (!allCircuits.hasOwnProperty(circuit)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
cmessages = allMessages[circuit];
|
cmessages = allCircuits[circuit].messages;
|
||||||
}
|
}
|
||||||
if (item.type && item.type=='bar') {
|
if (item.type && item.type=='bar') {
|
||||||
var ichild = document.createElement("div");
|
var ichild = document.createElement("div");
|
||||||
@@ -494,34 +494,35 @@ jsPlumb.ready(function() {
|
|||||||
if (data.hasOwnProperty('sub')) {
|
if (data.hasOwnProperty('sub')) {
|
||||||
for (var i in data.sub) {
|
for (var i in data.sub) {
|
||||||
var sub = data.sub[i];
|
var sub = data.sub[i];
|
||||||
addItemFin(child, sub.name, [], allMessages, needEndpoints, needUris, sub);
|
addItemFin(child, sub.name, [], allCircuits, needEndpoints, needUris, sub);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
var addItem = function(parent, name, messages, allMessages, needEndpoints, needUris) {
|
var addItem = function(parent, name, messages, allCircuits, needEndpoints, needUris) {
|
||||||
new Ajax.Request('/items/'+name+'.json',{
|
new Ajax.Request('/items/'+name+'.json',{
|
||||||
method:'get',
|
method:'get',
|
||||||
asynchronous:false,
|
asynchronous:false,
|
||||||
onSuccess: function(trans) {
|
onSuccess: function(trans) {
|
||||||
addItemFin(parent, name, messages, allMessages, needEndpoints, needUris, trans.responseJSON);
|
addItemFin(parent, name, messages, allCircuits, needEndpoints, needUris, trans.responseJSON);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
var connectionItems = {};
|
var connectionItems = {};
|
||||||
var needUpdates = new Array();
|
var needUpdates = new Array();
|
||||||
var updateConnections = {};
|
var updateConnections = {};
|
||||||
var allMessages = {};
|
var allCircuits = {};
|
||||||
new Ajax.Request('/data/?verbose',{
|
new Ajax.Request('/data/?verbose',{
|
||||||
method:'get',
|
method:'get',
|
||||||
onSuccess: function(trans) {
|
onSuccess: function(trans) {
|
||||||
var needEndpoints = new Array();
|
var needEndpoints = new Array();
|
||||||
var needUris = new Array();
|
var needUris = new Array();
|
||||||
allMessages = trans.responseJSON;
|
allCircuits = trans.responseJSON;
|
||||||
// create items
|
// create items
|
||||||
for (var cname in allMessages) {
|
for (var cname in allCircuits) {
|
||||||
if (!allMessages.hasOwnProperty(cname) || cname.substring(0, 5)=='scan.')
|
if (!allCircuits.hasOwnProperty(cname) || cname.substring(0, 5)=='scan.') {
|
||||||
continue;
|
continue;
|
||||||
addItem(null, cname, allMessages[cname], allMessages, needEndpoints, needUris);
|
}
|
||||||
|
addItem(null, cname, allCircuits[cname].messages, allCircuits, needEndpoints, needUris);
|
||||||
}
|
}
|
||||||
// add endpoints
|
// add endpoints
|
||||||
var needConnections = new Array();
|
var needConnections = new Array();
|
||||||
@@ -583,7 +584,7 @@ jsPlumb.ready(function() {
|
|||||||
console.log("dst need update "+conn);
|
console.log("dst need update "+conn);
|
||||||
}
|
}
|
||||||
if (data.length>4 && data[3]) { // add label
|
if (data.length>4 && data[3]) { // add label
|
||||||
var cmessages = allMessages[data[3]];
|
var cmessages = allCircuits[data[3]].messages;
|
||||||
var message = cmessages[data[4]];
|
var message = cmessages[data[4]];
|
||||||
var over = conn.getOverlay("label");
|
var over = conn.getOverlay("label");
|
||||||
over.setLabel(buildText(data.length>5?data[5]:null, message, data[3], data[4]));
|
over.setLabel(buildText(data.length>5?data[5]:null, message, data[3], data[4]));
|
||||||
@@ -647,7 +648,7 @@ jsPlumb.ready(function() {
|
|||||||
}
|
}
|
||||||
var fields = message.fields;
|
var fields = message.fields;
|
||||||
if (fields) {
|
if (fields) {
|
||||||
var cmessages = allMessages[cname];
|
var cmessages = allCircuits[cname].messages;
|
||||||
if (cmessages) {
|
if (cmessages) {
|
||||||
var msg = cmessages[mname];
|
var msg = cmessages[mname];
|
||||||
if (msg) {
|
if (msg) {
|
||||||
@@ -682,7 +683,7 @@ jsPlumb.ready(function() {
|
|||||||
var dst = Array.isArray(data) ? data[0]==null ? resolveDsts[data[1]]: data[0]+data[1] : data;
|
var dst = Array.isArray(data) ? data[0]==null ? resolveDsts[data[1]]: data[0]+data[1] : data;
|
||||||
var conn = connectionItems[src+"-"+dst];
|
var conn = connectionItems[src+"-"+dst];
|
||||||
if (conn) {
|
if (conn) {
|
||||||
var cond = checkCondition(needUpdate.condition, allMessages);
|
var cond = checkCondition(needUpdate.condition, allCircuits);
|
||||||
var type = needUpdate.type[cond?0:1];
|
var type = needUpdate.type[cond?0:1];
|
||||||
console.log("need update "+needUpdate.type+": "+conn+" to "+type);
|
console.log("need update "+needUpdate.type+": "+conn+" to "+type);
|
||||||
conn.conn.setType(type);
|
conn.conn.setType(type);
|
||||||
|
|||||||
Reference in New Issue
Block a user