web app update to use a link object, that should help with editing and retaining values
This commit is contained in:
parent
10486dfe1a
commit
5f6f718e92
2 changed files with 36 additions and 32 deletions
|
@ -113,12 +113,22 @@ class CoreNode {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function setEdgeData(edge, linkId, fromNode, toNode, interfaceOne, interfaceTwo) {
|
class CoreLink {
|
||||||
edge.core = linkId;
|
constructor(nodeOne, nodeTwo, interfaceOne, interfaceTwo) {
|
||||||
edge.nodeOne = fromNode.name;
|
this.nodeOne = nodeOne;
|
||||||
edge.interfaceOne = interfaceOne;
|
this.nodeTwo = nodeTwo;
|
||||||
edge.nodeTwo = toNode.name;
|
this.interfaceOne = interfaceOne;
|
||||||
edge.interfaceTwo = interfaceTwo;
|
this.interfaceTwo = interfaceTwo;
|
||||||
|
}
|
||||||
|
|
||||||
|
json() {
|
||||||
|
return {
|
||||||
|
node_one: this.nodeOne,
|
||||||
|
node_two: this.nodeTwo,
|
||||||
|
interface_one: this.interfaceOne,
|
||||||
|
interface_two: this.interfaceTwo
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class CoreNetwork {
|
class CoreNetwork {
|
||||||
|
@ -250,13 +260,13 @@ class CoreNetwork {
|
||||||
}
|
}
|
||||||
|
|
||||||
this.coreRest.getLinks(node.id)
|
this.coreRest.getLinks(node.id)
|
||||||
.then(function(response) {
|
.then(function (response) {
|
||||||
console.log('link response: ', response);
|
console.log('link response: ', response);
|
||||||
for (let linkData of response.links) {
|
for (let linkData of response.links) {
|
||||||
self.createEdgeFromLink(linkData);
|
self.createEdgeFromLink(linkData);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(function(err) {
|
.catch(function (err) {
|
||||||
console.log('get link error: ', err);
|
console.log('get link error: ', err);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -302,19 +312,16 @@ class CoreNetwork {
|
||||||
toNode.interfaces[linkData.interface2_id] = interfaceTwo;
|
toNode.interfaces[linkData.interface2_id] = interfaceTwo;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.links[linkId] = {
|
const link = new CoreLink(fromNode.id, toNode.id, interfaceOne, interfaceTwo);
|
||||||
node_one: fromNode.id,
|
this.links[linkId] = link;
|
||||||
node_two: toNode.id,
|
|
||||||
interface_one: interfaceOne,
|
|
||||||
interface_two: interfaceTwo
|
|
||||||
};
|
|
||||||
|
|
||||||
const edge = {
|
const edge = {
|
||||||
recreated: true,
|
recreated: true,
|
||||||
from: fromNode.id,
|
from: fromNode.id,
|
||||||
to: toNode.id
|
to: toNode.id,
|
||||||
|
linkId: linkId,
|
||||||
|
link
|
||||||
};
|
};
|
||||||
setEdgeData(edge, linkId, fromNode, toNode, interfaceOne, interfaceTwo);
|
|
||||||
this.edges.add(edge);
|
this.edges.add(edge);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -327,7 +334,7 @@ class CoreNetwork {
|
||||||
|
|
||||||
for (let linkId in this.links) {
|
for (let linkId in this.links) {
|
||||||
const link = this.links[linkId];
|
const link = this.links[linkId];
|
||||||
const response = await coreRest.createLink(link);
|
const response = await coreRest.createLink(link.json());
|
||||||
console.log('created link: ', response);
|
console.log('created link: ', response);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -375,10 +382,10 @@ class CoreNetwork {
|
||||||
const toNode = this.nodes.get(edge.to).coreNode;
|
const toNode = this.nodes.get(edge.to).coreNode;
|
||||||
|
|
||||||
this.addEdgeLink(edge, fromNode, toNode)
|
this.addEdgeLink(edge, fromNode, toNode)
|
||||||
.then(function() {
|
.then(function () {
|
||||||
console.log('create edge link success!');
|
console.log('create edge link success!');
|
||||||
})
|
})
|
||||||
.catch(function(err) {
|
.catch(function (err) {
|
||||||
console.log('create link error: ', err);
|
console.log('create link error: ', err);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -417,14 +424,10 @@ class CoreNetwork {
|
||||||
toNode.interfaces[interfaceTwoId] = interfaceTwo;
|
toNode.interfaces[interfaceTwoId] = interfaceTwo;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.links[linkId] = {
|
const link = new CoreLink(fromNode.id, toNode.id, interfaceOne, interfaceTwo);
|
||||||
node_one: fromNode.id,
|
this.links[linkId] = link;
|
||||||
node_two: toNode.id,
|
edge.linkId = linkId;
|
||||||
interface_one: interfaceOne,
|
edge.link = link;
|
||||||
interface_two: interfaceTwo
|
|
||||||
};
|
|
||||||
|
|
||||||
setEdgeData(edge, linkId, fromNode, toNode, interfaceOne, interfaceTwo);
|
|
||||||
this.edges.update(edge);
|
this.edges.update(edge);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -225,12 +225,13 @@
|
||||||
} else if (properties.edges.length === 1) {
|
} else if (properties.edges.length === 1) {
|
||||||
const edgeId = properties.edges[0];
|
const edgeId = properties.edges[0];
|
||||||
const edge = coreNetwork.edges.get(edgeId);
|
const edge = coreNetwork.edges.get(edgeId);
|
||||||
console.log('clicked edge: ', edge);
|
const link = edge.link;
|
||||||
|
console.log('clicked edge: ', link);
|
||||||
$infoCard.addClass('visible');
|
$infoCard.addClass('visible');
|
||||||
$infoCardHeader.text('Edge');
|
$infoCardHeader.text('Edge');
|
||||||
$infoCardTable.find('tbody tr').remove();
|
$infoCardTable.find('tbody tr').remove();
|
||||||
addInfoTable(edge.nodeOne, null);
|
addInfoTable(link.nodeOne, null);
|
||||||
const interfaceOne = edge.interfaceOne;
|
const interfaceOne = link.interfaceOne;
|
||||||
if (interfaceOne) {
|
if (interfaceOne) {
|
||||||
if (interfaceOne.ip4) {
|
if (interfaceOne.ip4) {
|
||||||
addInfoTable('IP4', `${interfaceOne.ip4}/${interfaceOne.ip4mask}`);
|
addInfoTable('IP4', `${interfaceOne.ip4}/${interfaceOne.ip4mask}`);
|
||||||
|
@ -239,8 +240,8 @@
|
||||||
addInfoTable('IP6', `${interfaceOne.ip6}/${interfaceOne.ip6mask}`);
|
addInfoTable('IP6', `${interfaceOne.ip6}/${interfaceOne.ip6mask}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
addInfoTable(edge.nodeTwo, null);
|
addInfoTable(link.nodeTwo, null);
|
||||||
const interfaceTwo = edge.interfaceTwo;
|
const interfaceTwo = link.interfaceTwo;
|
||||||
if (interfaceTwo) {
|
if (interfaceTwo) {
|
||||||
if (interfaceTwo.ip4) {
|
if (interfaceTwo.ip4) {
|
||||||
addInfoTable('IP4', `${interfaceTwo.ip4}/${interfaceTwo.ip4mask}`);
|
addInfoTable('IP4', `${interfaceTwo.ip4}/${interfaceTwo.ip4mask}`);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue