diff --git a/.vs/html_source/v16/.suo b/.vs/html_source/v16/.suo
index 84d5a44..30a8d15 100644
Binary files a/.vs/html_source/v16/.suo and b/.vs/html_source/v16/.suo differ
diff --git a/js/Network Graph/stylenetwork.js b/js/Network Graph/stylenetwork.js
index 19e2bcf..b4ad0af 100644
--- a/js/Network Graph/stylenetwork.js
+++ b/js/Network Graph/stylenetwork.js
@@ -501,9 +501,15 @@ $(document).ready(function () {
for (var i = 1; i < undoLength; i++) {
if (!tempUndo[undoLength - (i + 1)].isMultiple) {
if (tempUndo[undoLength - 1].id == tempUndo[undoLength - (i + 1)].id) {
- if (tempData.component_type == roadmJSON.component_type)
+ if (tempData.component_type == roadmJSON.component_type) {
+ var redoupdate = data.nodes.get(tempUndo[undoLength - (i + 1)].id);
+ tempRedo.push(redoupdate);
data.nodes.update(tempUndo[undoLength - (i + 1)]);
+ }
else {
+ var redoupdate = data.edges.get(tempUndo[undoLength - (i + 1)].id);
+ tempRedo.push(redoupdate);
+
data.edges.update(tempUndo[undoLength - (i + 1)]);
nodeValidationInEdge(tempUndo[undoLength - (i + 1)].from, tempUndo[undoLength - (i + 1)].to);
multipleFiberService(tempUndo[undoLength - (i + 1)].from, tempUndo[undoLength - (i + 1)].to);
@@ -515,9 +521,15 @@ $(document).ready(function () {
else {
for (var j = 0; j < tempUndo[undoLength - (i + 1)].list.length; j++) {
if (tempUndo[undoLength - 1].id == tempUndo[undoLength - (i + 1)].list[j].id) {
- if (tempData.component_type == roadmJSON.component_type)
+ if (tempData.component_type == roadmJSON.component_type) {
+ var redoupdate = data.nodes.get(tempUndo[undoLength - (i + 1)].list[j].id);
+ tempRedo.push(redoupdate);
data.nodes.update(tempUndo[undoLength - (i + 1)].list[j]);
+ }
else {
+ var redoupdate = data.edges.get(tempUndo[undoLength - (i + 1)].list[j].id);
+ tempRedo.push(redoupdate);
+
data.edges.update(tempUndo[undoLength - (i + 1)].list[j]);
nodeValidationInEdge(tempUndo[undoLength - (i + 1)].list[j].from, tempUndo[undoLength - (i + 1)].list[j].to);
multipleFiberService(tempUndo[undoLength - (i + 1)].list[j].from, tempUndo[undoLength - (i + 1)].list[j].to);
@@ -531,31 +543,49 @@ $(document).ready(function () {
}
}
if (!isBreak) {
- if (tempData.component_type == roadmJSON.component_type)
+ if (tempData.component_type == roadmJSON.component_type) {
data.nodes.remove(tempUndo[undoLength - 1]);
+ tempRedo.push(tempUndo[undoLength - 1]);
+ }
else {
data.edges.remove(tempUndo[undoLength - 1]);
+ tempRedo.push(tempUndo[undoLength - 1]);
nodeValidationInEdge(tempUndo[undoLength - 1].from, tempUndo[undoLength - 1].to);
multipleFiberService(tempUndo[undoLength - 1].from, tempUndo[undoLength - 1].to);
}
}
}
else if (tempData.isDelete) {
- if (tempData.component_type == roadmJSON.component_type)
+ if (tempData.component_type == roadmJSON.component_type) {
+ var redoupdate = data.nodes.get(tempData.id);
+ tempRedo.push(redoupdate);
+
data.nodes.update(tempData);
+
+ }
else {
+ var redoupdate = data.edges.get(tempData.id);
+ tempRedo.push(redoupdate);
+
data.edges.update(tempData);
nodeValidationInEdge(tempData.from, tempData.to);
multipleFiberService(tempData.from, tempData.to);
}
tempUndo[tempUndo.length - 1].isDelete = false;
tempUndo[tempUndo.length - 1].isUpdate = true;
+
+ tempRedo[tempRedo.length - 1].isDelete = true;
+ tempRedo[tempRedo.length - 1].isUpdate = false;
}
else {
- if (tempData.component_type == roadmJSON.component_type)
+ if (tempData.component_type == roadmJSON.component_type) {
data.nodes.remove(tempData);
+ tempRedo.push(tempData);
+
+ }
else {
data.edges.remove(tempData);
+ tempRedo.push(tempData);
nodeValidationInEdge(tempData.from, tempData.to);
multipleFiberService(tempData.from, tempData.to);
}
@@ -573,11 +603,14 @@ $(document).ready(function () {
}
//data.nodes.update(tempData.list[i]);
}
+ tempRedo.push(tempData);
}
else {
for (var i = 0; i < tempData.list.length; i++) {
data.nodes.update(tempData.list[i]);
}
+
+ tempRedo.push(tempData);
}
tempUndo.pop();
}
@@ -646,21 +679,75 @@ $(document).ready(function () {
});
$("#button_redo").on("click", function () {
+ if (tempRedo.length > 0) {
+ var tempData = tempRedo[tempRedo.length - 1];
- //if (tempRedo.length > 0) {
- // debugger;
- // if (tempRedo[tempRedo.length - 1].isDelete) {
- // tempRedo[tempRedo.length - 1].isDelete = false;
- // tempUndo.push(tempRedo[tempRedo.length - 1]);
- // data.nodes.remove(tempRedo[tempRedo.length - 1]);
+ if (!tempData.isMultiple) {
- // }
- // else {
- // tempUndo.push(tempRedo[tempRedo.length - 1]);
- // data.nodes.update(tempRedo[tempRedo.length - 1]);
- // tempRedo.pop();
- // }
- //}
+ if (tempData.isDelete) {
+
+ tempUndo.push(tempData);
+ tempUndo[tempUndo.length - 1].isDelete = true;
+ tempUndo[tempUndo.length - 1].isUpdate = false;
+
+ if (tempData.component_type == roadmJSON.component_type) {
+ data.nodes.remove(tempData);
+ }
+ else {
+ data.edges.remove(tempData);
+ }
+
+
+ tempRedo.pop();
+ }
+ else {
+ tempUndo.push(tempData);
+ tempUndo[tempUndo.length - 1].isDelete = false;
+ tempUndo[tempUndo.length - 1].isUpdate = true;
+
+
+ if (tempData.component_type == roadmJSON.component_type) {
+ data.nodes.update(tempData);
+ }
+ else {
+ data.edges.update(tempData);
+ }
+
+ tempRedo.pop();
+ }
+ }
+ else {
+
+ if (!tempData.isUpdate) {
+ for (var i = 0; i < tempData.list.length; i++) {
+ data.nodes.remove(tempData.list[i]);
+ }
+ }
+ else {
+ for (var i = 0; i < tempData.preList.length; i++) {
+ for (var j = 0; j < tempData.list.length; j++) {
+ if (tempData.list[j].id == tempData.preList[i].id) {
+ data.nodes.update(tempData.list[i]);
+ break;
+ }
+ }
+ }
+ }
+ tempUndo.push(tempData);
+ tempRedo.pop();
+ }
+
+ }
+
+ remove_NodeHighlight();
+
+ $(btnAddRoadm).removeClass('highlight');
+ $(btnAddFused).removeClass('highlight');
+ $(btnAddILA).removeClass('highlight');
+ $(btnAddAmplifier).removeClass('highlight');
+ $(btnAddTransceiver).removeClass('highlight')
+ nodeMode = 0;
+ enableEdgeIndicator();
//if (tempRedo.length > 0) {
// if (tempRedo[tempRedo.length - 1].isUpdate) {
@@ -4048,7 +4135,7 @@ function applyPro(nodes, callback) {
for (var i = 0; i < nodes.length; i++) {
if (nodeDetails.node_type == roadmJSON.node_type && network.body.data.nodes.get(nodes[i]).node_type == nodeDetails.node_type) {
if (nodes.length > 1) {
- if (network.body.data.nodes.get(nodes[i]).image == DIR + roadmJSON.h_image) {
+ if (network.body.data.nodes.get(nodes[i]).image == DIR + roadmJSON.h_image || network.body.data.nodes.get(nodes[i]).image == DIR + roadmJSON.fh_image) {
preUpdateList.push(network.body.data.nodes.get(nodes[i]));
applyRoadmPro(nodes[i], nodeDetails.roadm_type);
removeNodeList.push(network.body.data.nodes.get(nodes[i]));
@@ -4065,7 +4152,7 @@ function applyPro(nodes, callback) {
}
else if (nodeDetails.node_type == transceiverJSON.node_type && network.body.data.nodes.get(nodes[i]).node_type == nodeDetails.node_type) {
if (nodes.length > 1) {
- if (network.body.data.nodes.get(nodes[i]).image == DIR + transceiverJSON.h_image) {
+ if (network.body.data.nodes.get(nodes[i]).image == DIR + transceiverJSON.h_image || network.body.data.nodes.get(nodes[i]).image == DIR + transceiverJSON.fh_image) {
var temptrans = network.body.data.nodes.get(nodes[i]);
isUpdated = applyTransPro(nodes[i], nodeDetails.node_type, nodeDetails.transceiver_type);
if (isUpdated) {
@@ -4084,7 +4171,7 @@ function applyPro(nodes, callback) {
if (nodeDetails.node_type == amplifierJSON.node_type && network.body.data.nodes.get(nodes[i]).node_type == nodeDetails.node_type) {
if (nodeDetails.amp_category == amplifierJSON.amp_category && nodeDetails.amp_category == network.body.data.nodes.get(nodes[i]).amp_category) {
if (nodes.length > 1) {
- if (network.body.data.nodes.get(nodes[i]).image == DIR + amplifierJSON.h_image) {
+ if (network.body.data.nodes.get(nodes[i]).image == DIR + amplifierJSON.h_image || network.body.data.nodes.get(nodes[i]).image == DIR + amplifierJSON.fh_image) {
preUpdateList.push(network.body.data.nodes.get(nodes[i]));
applyAmpPro(nodes[i], nodeDetails.amp_type);
removeNodeList.push(network.body.data.nodes.get(nodes[i]));
@@ -4100,7 +4187,7 @@ function applyPro(nodes, callback) {
}
else if (nodeDetails.amp_category == ramanampJSON.amp_category && nodeDetails.amp_category == network.body.data.nodes.get(nodes[i]).amp_category) {
if (nodes.length > 1) {
- if (network.body.data.nodes.get(nodes[i]).image == DIR + ramanampJSON.h_image) {
+ if (network.body.data.nodes.get(nodes[i]).image == DIR + ramanampJSON.h_image || network.body.data.nodes.get(nodes[i]).image == DIR + ramanampJSON.fh_image) {
preUpdateList.push(network.body.data.nodes.get(nodes[i]));
applyRamanAmpPro(nodes[i], nodeDetails.amp_type, nodeDetails.category);
removeNodeList.push(network.body.data.nodes.get(nodes[i]));
@@ -8366,7 +8453,7 @@ function removeSpanInError(item, transUpdate) {
id: nodeDetails.id, image: DIR + image, size: roadmJSON.size, is_error: false
});
- console.log(nodeDetails.id, DIR + image);
+ //console.log(nodeDetails.id, DIR + image);
data.nodes.on("*", change_history_back);
data.edges.on("*", change_history_back);