updated to latest API

This commit is contained in:
john30
2017-06-24 07:16:47 +02:00
parent 77b018b500
commit 11832ca126
+18 -17
View File
@@ -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);