Highlight issues fixed when on copy template

This commit is contained in:
sakv2e10204
2022-05-03 18:07:37 +05:30
parent d5633fe059
commit ab3f9d9527
3 changed files with 287 additions and 203 deletions

View File

@@ -1308,12 +1308,12 @@ function draw(isImport) {
//alert(params.pointer.canvas.x+' , '+ params.pointer.canvas.y);
$("#hoverDiv").hide();
//console.log(params.pointer.canvas.x, params.pointer.canvas.y);
if (!params.event.srcEvent.ctrlKey)
remove_NodeHighlight();
else {
var clickedNode = this.body.nodes[this.getNodeAt(params.pointer.DOM)];
if (clickedNode != undefined) {
var nodeDetails = network.body.data.nodes.get(clickedNode.id);
if (!nodeSelect) {
if (!network.body.nodes[clickedNode.id].selected) {
@@ -1324,8 +1324,17 @@ function draw(isImport) {
}
}
}
}
}
var sNodes = network.body.data.nodes.get({
filter: function (item) {
return (item.is_highlight == true);
}
});
if (sNodes.length == 0)
network.unselectAll();
nodeSelect = false;
});
@@ -1335,7 +1344,6 @@ function draw(isImport) {
});
network.on("selectNode", function (params) {
//if (isExpandedView || isImportJSON) {
// return;
//}
@@ -1348,8 +1356,21 @@ function draw(isImport) {
if (isCopyPara)
copyDetails = network.body.data.nodes.get(copiedNodeID);
else {
var sNodes = network.body.data.nodes.get({
filter: function (item) {
return (item.is_highlight == true);
}
});
if (params.nodes.length > 1) {
if (sNodes.length > 0)
copyDetails = network.body.data.nodes.get(sNodes[0].id);
else
copyDetails = network.body.data.nodes.get(params.nodes[params.nodes.length-1]);
} else {
copyDetails = network.body.data.nodes.get(params.nodes[0]);
}
}
type_name = copyDetails.node_type;
if (copyDetails.node_type == amplifierJSON.node_type) {
@@ -1364,8 +1385,8 @@ function draw(isImport) {
if (copyDetails.node_type != nodeDetails.node_type) {
showMessage(alertType.Error, 'Please select same type of node (' + type_name + ')');
network.body.nodes[clickedNode.id].selected = false;
network.redraw();
//network.body.nodes[clickedNode.id].selected = false;
//network.redraw();
nodeSelect = true;
return;
@@ -1373,8 +1394,6 @@ function draw(isImport) {
else {
if (copyDetails.amp_category != nodeDetails.amp_category) {
showMessage(alertType.Error, 'Please select same type of node (' + type_name + ')');
network.body.nodes[clickedNode.id].selected = false;
network.redraw();
nodeSelect = true;
return;
}
@@ -1448,10 +1467,16 @@ function draw(isImport) {
if (edgeDatas != undefined)
edgeData = edgeDatas.id;
var nodesArray = [];
var sNodes = network.body.data.nodes.get({
fields: ['id'],
filter: function (item) {
return (item.is_highlight == true);
}
});
if (data.nodes.length > 0) {
nodesArray = data.nodes;
var nodesArray = [];
if (data.nodes.length > 0 && sNodes.length > 0) {
nodesArray = sNodes;
//nodesArray.push(nodeData);
}
else
@@ -1483,12 +1508,12 @@ function draw(isImport) {
if (showMenu == 1) {
var copyDetails;
var type_name;
if (isCopyPara || (data.nodes.length > 1)) {
if (isCopyPara || (sNodes.length > 0)) {
if (isCopyPara)
copyDetails = network.body.data.nodes.get(copiedNodeID);
else
copyDetails = network.body.data.nodes.get(data.nodes[0]);
copyDetails = network.body.data.nodes.get(sNodes[0].id);
type_name = copyDetails.node_type;
if (copyDetails.node_type == amplifierJSON.node_type) {
@@ -1550,23 +1575,25 @@ function draw(isImport) {
//to add only same type of node on multiple select
nodesArray = [];
if (data.nodes.length > 0) {
if (data.nodes.length > 0 && sNodes.length > 0) {
for (var i = 0; i < data.nodes.length; i++) {
if (network.body.data.nodes.get(data.nodes[0]).node_type == network.body.data.nodes.get(data.nodes[i]).node_type) {
if ((network.body.data.nodes.get(data.nodes[0]).node_type == network.body.data.nodes.get(data.nodes[i]).node_type) && network.body.data.nodes.get(data.nodes[0]).node_type == amplifierJSON.node_type) {
if (network.body.data.nodes.get(data.nodes[0]).amp_category == network.body.data.nodes.get(data.nodes[i]).amp_category)
for (var i = 0; i < sNodes.length; i++) {
if (network.body.data.nodes.get(sNodes[0].id).node_type == network.body.data.nodes.get(sNodes[i].id).node_type) {
if ((network.body.data.nodes.get(sNodes[0].id).node_type == network.body.data.nodes.get(sNodes[i].id).node_type) && network.body.data.nodes.get(sNodes[0].id).node_type == amplifierJSON.node_type) {
if (network.body.data.nodes.get(sNodes[0].id).amp_category == network.body.data.nodes.get(sNodes[i].id).amp_category)
nodesArray.push(data.nodes[i]);
}
else
nodesArray.push(data.nodes[i]);
nodesArray.push(sNodes[i].id);
}
}
}
else
nodesArray.push(nodeData);
if (type == serviceJSON.component_type) {
if (showMenu == 2)//enable service menu
{
@@ -1608,7 +1635,7 @@ function draw(isImport) {
$("#rcRoadmCancel").show();
}
else {
if (nodesArray.length > 1) {
if (nodesArray.length > 1 && sNodes.length > 1) {
$("#rcRoadmCopy").hide();
$("#rcRoadmCopyPara").hide();
}
@@ -1711,7 +1738,7 @@ function draw(isImport) {
$("#rcAmpApplyPro").hide();
$("#rcAmpCancel").hide();
if (nodesArray.length > 1) {
if (nodesArray.length > 1 && sNodes.length > 1) {
$("#rcAmplifierCopy").hide();
$("#rcAmplifierCopyPara").hide();
}
@@ -1771,7 +1798,7 @@ function draw(isImport) {
$("#rcRamanCancel").hide();
$("#rcRamanApplyPro").hide();
if (nodesArray.length > 1) {
if (nodesArray.length > 1 && sNodes.length > 1) {
$("#rcRamanAmpCopy").hide();
$("#rcRamanAmpCopyPara").hide();
}
@@ -1832,7 +1859,7 @@ function draw(isImport) {
$("#rcTransApplyPro").hide();
$("#rcTransCancel").hide();
if (nodesArray.length > 1) {
if (nodesArray.length > 1 && sNodes.length > 1) {
$("#rcTransceiverCopy").hide();
$("#rcTransceiverCopyPara").hide();
}
@@ -3754,25 +3781,20 @@ function cancelPro(nodeId) {
clearCopiedData();
}
function applyPro(nodes, callback) {
var isUpdated = false;
if (isCopyPara) {
var nodeDetails = network.body.data.nodes.get(copiedNodeID);
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) {
function applyRoadmPro(nodeID, roadm_type) {
network.body.data.nodes.update({
id: nodes[i], roadm_type: nodeDetails.roadm_type
id: nodeID, roadm_type: roadm_type
});
realUpdate_Roadm(nodes[i], nodeDetails.roadm_type);
isUpdated = true;
realUpdate_Roadm(nodeID, roadm_type);
}
else if (nodeDetails.node_type == transceiverJSON.node_type && network.body.data.nodes.get(nodes[i]).node_type == nodeDetails.node_type) {
var id = nodes[i];
function applyTransPro(nodeID, node_type, trans_type) {
var id = nodeID;
var connectedEdges = network.getConnectedEdges(id);
var fromTransType = "";
var toTransType = "";
var isOk = true;
transceiverType = nodeDetails.transceiver_type;
transceiverType = trans_type;
$.each(connectedEdges, function (index, item) {
if (!isOk)
@@ -3799,31 +3821,77 @@ function applyPro(nodes, callback) {
});
if (isOk) {
if (nodeDetails.node_type == transceiverJSON.node_type) {
if (node_type == transceiverJSON.node_type) {
network.body.data.nodes.update({
id: id, transceiver_type: nodeDetails.transceiver_type
id: id, transceiver_type: transceiverType
});
realUpdate_Transceiver(id, nodeDetails.transceiver_type);
realUpdate_Transceiver(id, transceiverType);
}
}
isUpdated = isOk;
return isOk;
}
function applyAmpPro(nodeID, amp_type) {
network.body.data.nodes.update({
id: nodeID, amp_type: amp_type
});
realUpdate_Amplifier(nodeID, amp_type);
}
function applyRamanAmpPro(nodeID, amp_type, category) {
network.body.data.nodes.update({
id: nodeID, amp_type: amp_type, category: category
});
realUpdate_RamanAmp(nodeID, amp_type);
}
function applyPro(nodes, callback) {
var isUpdated = false;
if (isCopyPara) {
var nodeDetails = network.body.data.nodes.get(copiedNodeID);
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)
applyRoadmPro(nodes[i], nodeDetails.roadm_type);
}
else {
applyRoadmPro(nodes[i], nodeDetails.roadm_type);
}
isUpdated = true;
}
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)
isUpdated = applyTransPro(nodes[i], nodeDetails.node_type, nodeDetails.transceiver_type);
}
else {
isUpdated = applyTransPro(nodes[i], nodeDetails.node_type, nodeDetails.transceiver_type);
}
}
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) {
network.body.data.nodes.update({
id: nodes[i], amp_type: nodeDetails.amp_type
});
realUpdate_Amplifier(nodes[i], nodeDetails.amp_type);
if (nodes.length > 1) {
if (network.body.data.nodes.get(nodes[i]).image == DIR + amplifierJSON.h_image)
applyAmpPro(nodes[i], nodeDetails.amp_type);
}
else {
applyAmpPro(nodes[i], nodeDetails.amp_type);
}
isUpdated = true;
}
else if (nodeDetails.amp_category == ramanampJSON.amp_category && nodeDetails.amp_category == network.body.data.nodes.get(nodes[i]).amp_category) {
network.body.data.nodes.update({
id: nodes[i], amp_type: nodeDetails.amp_type, category: nodeDetails.category
});
realUpdate_RamanAmp(nodes[i], nodeDetails.amp_type);
if (nodes.length > 1) {
if (network.body.data.nodes.get(nodes[i]).image == DIR + amplifierJSON.h_image)
applyRamanAmpPro(nodes[i], nodeDetails.amp_type, nodeDetails.category);
}
else {
applyRamanAmpPro(nodes[i], nodeDetails.amp_type, nodeDetails.category);
}
isUpdated = true;
}
}
@@ -3946,6 +4014,7 @@ function pasteNode(nodeId) {
realUpdate();
document.getElementById("pasteMenu").style.display = "none";
UnSelectAll();
$("#stepCreateTopology").click();
}
}
@@ -6123,9 +6192,29 @@ function realUpdate_Transceiver(id, rtype) {
function deleteNode(nodeList) {
var nodeID;
for (var i = 0; i < nodeList.length; i++) {
nodeID = nodeList[i];
if (nodeList.length > 1) {
if (network.body.data.nodes.get(nodeList[i]).image == DIR + roadmJSON.h_image)
removeNodes(nodeList[i]);
else if (network.body.data.nodes.get(nodeList[i]).image == DIR + fusedJSON.h_image)
removeNodes(nodeList[i]);
else if (network.body.data.nodes.get(nodeList[i]).image == DIR + transceiverJSON.h_image)
removeNodes(nodeList[i]);
else if (network.body.data.nodes.get(nodeList[i]).image == DIR + amplifierJSON.h_image)
removeNodes(nodeList[i]);
else if (network.body.data.nodes.get(nodeList[i]).image == DIR + ramanampJSON.h_image)
removeNodes(nodeList[i]);
}
else {
removeNodes(nodeList[i]);
}
}
$("#stepCreateTopology").click();
UnSelectAll();
}
function removeNodes(nodeID) {
var nodeDetails = network.body.data.nodes.get(nodeID);
var node_type = nodeDetails.node_type;
if (nodeDetails.node_type == ILAJSON.node_type)
@@ -6138,7 +6227,7 @@ function deleteNode(nodeList) {
document.getElementById("transceiverMenu").style.display = "none";
if (network.getConnectedEdges(nodeID).length > 0) {
showMessage(alertType.Error, "Unpair " + roadmJSON.component_type + ", then try to delete");
showMessage(alertType.Error, "Unpair " + roadmJSON.component_type + " - " + nodeDetails.label + ", then try to delete");
} else {
//nodes.remove(nodeID);
@@ -6164,11 +6253,6 @@ function deleteNode(nodeList) {
network.body.data.nodes.remove(nodeID);
}
}
$("#stepCreateTopology").click();
UnSelectAll();
}
function dualFiberEdit(fiberID, callback) {
document.getElementById("dualFiberMenu").style.display = "none";

View File

@@ -1308,12 +1308,12 @@ function draw(isImport) {
//alert(params.pointer.canvas.x+' , '+ params.pointer.canvas.y);
$("#hoverDiv").hide();
//console.log(params.pointer.canvas.x, params.pointer.canvas.y);
if (!params.event.srcEvent.ctrlKey)
remove_NodeHighlight();
else {
var clickedNode = this.body.nodes[this.getNodeAt(params.pointer.DOM)];
if (clickedNode != undefined) {
var nodeDetails = network.body.data.nodes.get(clickedNode.id);
if (!nodeSelect) {
if (!network.body.nodes[clickedNode.id].selected) {
@@ -1324,6 +1324,7 @@ function draw(isImport) {
}
}
}
}
}
var sNodes = network.body.data.nodes.get({
@@ -1343,7 +1344,6 @@ function draw(isImport) {
});
network.on("selectNode", function (params) {
//if (isExpandedView || isImportJSON) {
// return;
//}
@@ -1366,7 +1366,7 @@ function draw(isImport) {
if (sNodes.length > 0)
copyDetails = network.body.data.nodes.get(sNodes[0].id);
else
copyDetails = network.body.data.nodes.get(params.nodes[0]);
copyDetails = network.body.data.nodes.get(params.nodes[params.nodes.length-1]);
} else {
copyDetails = network.body.data.nodes.get(params.nodes[0]);
}
@@ -1508,12 +1508,12 @@ function draw(isImport) {
if (showMenu == 1) {
var copyDetails;
var type_name;
if (isCopyPara || (data.nodes.length > 1)) {
if (isCopyPara || (sNodes.length > 0)) {
if (isCopyPara)
copyDetails = network.body.data.nodes.get(copiedNodeID);
else
copyDetails = network.body.data.nodes.get(data.nodes[0]);
copyDetails = network.body.data.nodes.get(sNodes[0].id);
type_name = copyDetails.node_type;
if (copyDetails.node_type == amplifierJSON.node_type) {