From ab3f9d95275ac1a58750a27258ae9e72f1b8981f Mon Sep 17 00:00:00 2001 From: sakv2e10204 Date: Tue, 3 May 2022 18:07:37 +0530 Subject: [PATCH] Highlight issues fixed when on copy template --- .../.vs/TelecomInfraProject/v16/.suo | Bin 200704 -> 200704 bytes .../wwwroot/js/Network Graph/stylenetwork.js | 460 +++++++++++------- .../wwwroot/js/Network Graph/stylenetwork.js | 30 +- 3 files changed, 287 insertions(+), 203 deletions(-) diff --git a/TelecomInfraProject-V1/.vs/TelecomInfraProject/v16/.suo b/TelecomInfraProject-V1/.vs/TelecomInfraProject/v16/.suo index 39c137ec95d65bec47d25f055e1e5600ef608534..f8c6c0a8c7a22719a571b444b083aadc594d149f 100644 GIT binary patch delta 6188 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 diff --git a/TelecomInfraProject-V1/TelecomInfraProject/obj/Release/netcoreapp3.1/PubTmp/Out/wwwroot/js/Network Graph/stylenetwork.js b/TelecomInfraProject-V1/TelecomInfraProject/obj/Release/netcoreapp3.1/PubTmp/Out/wwwroot/js/Network Graph/stylenetwork.js index 0adbcb5..a6be52d 100644 --- a/TelecomInfraProject-V1/TelecomInfraProject/obj/Release/netcoreapp3.1/PubTmp/Out/wwwroot/js/Network Graph/stylenetwork.js +++ b/TelecomInfraProject-V1/TelecomInfraProject/obj/Release/netcoreapp3.1/PubTmp/Out/wwwroot/js/Network Graph/stylenetwork.js @@ -1308,24 +1308,33 @@ 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)]; - var nodeDetails = network.body.data.nodes.get(clickedNode.id); - if (!nodeSelect) { - if (!network.body.nodes[clickedNode.id].selected) { - if (nodeDetails.h_image) { - network.body.data.nodes.update({ - id: nodeDetails.id, image: nodeDetails.h_image, is_highlight: false - }); + if (clickedNode != undefined) { + var nodeDetails = network.body.data.nodes.get(clickedNode.id); + if (!nodeSelect) { + if (!network.body.nodes[clickedNode.id].selected) { + if (nodeDetails.h_image) { + network.body.data.nodes.update({ + id: nodeDetails.id, image: nodeDetails.h_image, is_highlight: false + }); + } } } } } + 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 - copyDetails = network.body.data.nodes.get(params.nodes[0]); + 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,76 +3781,117 @@ function cancelPro(nodeId) { clearCopiedData(); } +function applyRoadmPro(nodeID, roadm_type) { + network.body.data.nodes.update({ + id: nodeID, roadm_type: roadm_type + }); + realUpdate_Roadm(nodeID, roadm_type); + +} +function applyTransPro(nodeID, node_type, trans_type) { + var id = nodeID; + var connectedEdges = network.getConnectedEdges(id); + var fromTransType = ""; + var toTransType = ""; + var isOk = true; + transceiverType = trans_type; + $.each(connectedEdges, function (index, item) { + + if (!isOk) + return; + var edgeDetails = network.body.data.edges.get(item); + if (edgeDetails.component_type == serviceJSON.component_type) { + if (edgeDetails.from == id) { + + fromTransType = transceiverType; + toTransType = network.body.data.nodes.get(edgeDetails.to).transceiver_type; + } + else if (edgeDetails.to == id) { + toTransType = transceiverType; + fromTransType = network.body.data.nodes.get(edgeDetails.from).transceiver_type; + } + + if (toTransType != fromTransType) { + isOk = false; + showMessage(alertType.Error, serviceJSON.component_type + " can be created/updated only between " + transceiverJSON.node_type + " of same type"); + return; + } + } + + }); + + if (isOk) { + if (node_type == transceiverJSON.node_type) { + + network.body.data.nodes.update({ + id: id, transceiver_type: transceiverType + }); + realUpdate_Transceiver(id, transceiverType); + + + } + } + 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) { - network.body.data.nodes.update({ - id: nodes[i], roadm_type: nodeDetails.roadm_type - }); - realUpdate_Roadm(nodes[i], nodeDetails.roadm_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) { - var id = nodes[i]; - var connectedEdges = network.getConnectedEdges(id); - var fromTransType = ""; - var toTransType = ""; - var isOk = true; - transceiverType = nodeDetails.transceiver_type; - $.each(connectedEdges, function (index, item) { - - if (!isOk) - return; - var edgeDetails = network.body.data.edges.get(item); - if (edgeDetails.component_type == serviceJSON.component_type) { - if (edgeDetails.from == id) { - - fromTransType = transceiverType; - toTransType = network.body.data.nodes.get(edgeDetails.to).transceiver_type; - } - else if (edgeDetails.to == id) { - toTransType = transceiverType; - fromTransType = network.body.data.nodes.get(edgeDetails.from).transceiver_type; - } - - if (toTransType != fromTransType) { - isOk = false; - showMessage(alertType.Error, serviceJSON.component_type + " can be created/updated only between " + transceiverJSON.node_type + " of same type"); - return; - } - } - - }); - - if (isOk) { - if (nodeDetails.node_type == transceiverJSON.node_type) { - - network.body.data.nodes.update({ - id: id, transceiver_type: nodeDetails.transceiver_type - }); - realUpdate_Transceiver(id, nodeDetails.transceiver_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); } - isUpdated = isOk; } 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(); } } @@ -6007,79 +6076,79 @@ function updateTransceiver(nodeID) { } } else { - var id = nodeID[nodeID.length-1]; - var label = $("#txtTransceiverName").val().trim(); - var nodeDetails = network.body.data.nodes.get(id); - var transceiverType = $("#ddlTransceiverType").val(); - if (transceiverType == null || transceiverType == "") { - showMessage(alertType.Error, 'Please select transceiver type'); - $("#ddlTransceiverType").addClass('input_error'); + var id = nodeID[nodeID.length - 1]; + var label = $("#txtTransceiverName").val().trim(); + var nodeDetails = network.body.data.nodes.get(id); + var transceiverType = $("#ddlTransceiverType").val(); + if (transceiverType == null || transceiverType == "") { + showMessage(alertType.Error, 'Please select transceiver type'); + $("#ddlTransceiverType").addClass('input_error'); + return; + } + else + $("#ddlTransceiverType").removeClass('input_error'); + + + var connectedEdges = network.getConnectedEdges(id); + var fromTransType = ""; + var toTransType = ""; + var isOk = true; + $.each(connectedEdges, function (index, item) { + + if (!isOk) return; - } - else - $("#ddlTransceiverType").removeClass('input_error'); + var edgeDetails = network.body.data.edges.get(item); + if (edgeDetails.component_type == serviceJSON.component_type) { + if (edgeDetails.from == id) { + fromTransType = transceiverType; + toTransType = network.body.data.nodes.get(edgeDetails.to).transceiver_type; + } + else if (edgeDetails.to == id) { + toTransType = transceiverType; + fromTransType = network.body.data.nodes.get(edgeDetails.from).transceiver_type; + } - var connectedEdges = network.getConnectedEdges(id); - var fromTransType = ""; - var toTransType = ""; - var isOk = true; - $.each(connectedEdges, function (index, item) { - - if (!isOk) + if (toTransType != fromTransType) { + isOk = false; + showMessage(alertType.Error, serviceJSON.component_type + " can be created/updated only between " + transceiverJSON.node_type + " of same type"); return; - var edgeDetails = network.body.data.edges.get(item); - if (edgeDetails.component_type == serviceJSON.component_type) { - if (edgeDetails.from == id) { - - fromTransType = transceiverType; - toTransType = network.body.data.nodes.get(edgeDetails.to).transceiver_type; - } - else if (edgeDetails.to == id) { - toTransType = transceiverType; - fromTransType = network.body.data.nodes.get(edgeDetails.from).transceiver_type; - } - - if (toTransType != fromTransType) { - isOk = false; - showMessage(alertType.Error, serviceJSON.component_type + " can be created/updated only between " + transceiverJSON.node_type + " of same type"); - return; - } - } - - }); - - if (isOk) { - if (nodeDetails.node_type == transceiverJSON.node_type) { - - if (nodeID.length > 1) { - - network.body.data.nodes.update({ - id: id, transceiver_type: transceiverType - }); - realUpdate_Transceiver(id, ""); - - } else { - network.body.data.nodes.update({ - id: id, label: label, transceiver_type: transceiverType - }); - realUpdate_Transceiver(id, ""); - } - - //if (tempEdge.length > 1) { - // removeSpanInError(id, true); - //} - //else { - - // removeID = "#spanTF" + id.replace(/\s/g, ''); - // $(removeID).remove(); - //} - - } } - + }); + + if (isOk) { + if (nodeDetails.node_type == transceiverJSON.node_type) { + + if (nodeID.length > 1) { + + network.body.data.nodes.update({ + id: id, transceiver_type: transceiverType + }); + realUpdate_Transceiver(id, ""); + + } else { + network.body.data.nodes.update({ + id: id, label: label, transceiver_type: transceiverType + }); + realUpdate_Transceiver(id, ""); + } + + //if (tempEdge.length > 1) { + // removeSpanInError(id, true); + //} + //else { + + // removeID = "#spanTF" + id.replace(/\s/g, ''); + // $(removeID).remove(); + //} + + + } + } + + } clearTransceiver(); } @@ -6123,45 +6192,21 @@ function realUpdate_Transceiver(id, rtype) { function deleteNode(nodeList) { - var nodeID; for (var i = 0; i < nodeList.length; i++) { - nodeID = nodeList[i]; - var nodeDetails = network.body.data.nodes.get(nodeID); - var node_type = nodeDetails.node_type; - if (nodeDetails.node_type == ILAJSON.node_type) - node_type = nodeDetails.amp_category; - - document.getElementById("roadmMenu").style.display = "none"; - document.getElementById("attenuatorMenu").style.display = "none"; - document.getElementById("ILAMenu").style.display = "none"; - document.getElementById("amplifierMenu").style.display = "none"; - document.getElementById("transceiverMenu").style.display = "none"; - - if (network.getConnectedEdges(nodeID).length > 0) { - showMessage(alertType.Error, "Unpair " + roadmJSON.component_type + ", then try to delete"); - - } else { - //nodes.remove(nodeID); - - if (nodeDetails.node_type == transceiverJSON.node_type || nodeDetails.node_type == roadmJSON.node_type) { - removeSpanInError(nodeID); - removeSpanInError(nodeID, true); - } - else if (nodeDetails.node_type == amplifierJSON.node_type) { - if (nodeDetails.amp_category == amplifierJSON.amp_category) { - removeSpanInError(nodeID); - removeSpanInError(nodeID, true); - } - if (nodeDetails.amp_category == ramanampJSON.amp_category) { - removeSpanInError(nodeID); - removeSpanInError(nodeID, true); - removeSpanInError(nodeID, true); - } - } - else - removeSpanInError(nodeID); - - network.body.data.nodes.remove(nodeID); + 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(); @@ -6169,6 +6214,45 @@ function deleteNode(nodeList) { } +function removeNodes(nodeID) { + var nodeDetails = network.body.data.nodes.get(nodeID); + var node_type = nodeDetails.node_type; + if (nodeDetails.node_type == ILAJSON.node_type) + node_type = nodeDetails.amp_category; + + document.getElementById("roadmMenu").style.display = "none"; + document.getElementById("attenuatorMenu").style.display = "none"; + document.getElementById("ILAMenu").style.display = "none"; + document.getElementById("amplifierMenu").style.display = "none"; + document.getElementById("transceiverMenu").style.display = "none"; + + if (network.getConnectedEdges(nodeID).length > 0) { + showMessage(alertType.Error, "Unpair " + roadmJSON.component_type + " - " + nodeDetails.label + ", then try to delete"); + + } else { + //nodes.remove(nodeID); + + if (nodeDetails.node_type == transceiverJSON.node_type || nodeDetails.node_type == roadmJSON.node_type) { + removeSpanInError(nodeID); + removeSpanInError(nodeID, true); + } + else if (nodeDetails.node_type == amplifierJSON.node_type) { + if (nodeDetails.amp_category == amplifierJSON.amp_category) { + removeSpanInError(nodeID); + removeSpanInError(nodeID, true); + } + if (nodeDetails.amp_category == ramanampJSON.amp_category) { + removeSpanInError(nodeID); + removeSpanInError(nodeID, true); + removeSpanInError(nodeID, true); + } + } + else + removeSpanInError(nodeID); + + network.body.data.nodes.remove(nodeID); + } +} function dualFiberEdit(fiberID, callback) { document.getElementById("dualFiberMenu").style.display = "none"; diff --git a/TelecomInfraProject-V1/TelecomInfraProject/wwwroot/js/Network Graph/stylenetwork.js b/TelecomInfraProject-V1/TelecomInfraProject/wwwroot/js/Network Graph/stylenetwork.js index be3e4b5..a6be52d 100644 --- a/TelecomInfraProject-V1/TelecomInfraProject/wwwroot/js/Network Graph/stylenetwork.js +++ b/TelecomInfraProject-V1/TelecomInfraProject/wwwroot/js/Network Graph/stylenetwork.js @@ -1308,19 +1308,20 @@ 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)]; - var nodeDetails = network.body.data.nodes.get(clickedNode.id); - if (!nodeSelect) { - if (!network.body.nodes[clickedNode.id].selected) { - if (nodeDetails.h_image) { - network.body.data.nodes.update({ - id: nodeDetails.id, image: nodeDetails.h_image, is_highlight: false - }); + if (clickedNode != undefined) { + var nodeDetails = network.body.data.nodes.get(clickedNode.id); + if (!nodeSelect) { + if (!network.body.nodes[clickedNode.id].selected) { + if (nodeDetails.h_image) { + network.body.data.nodes.update({ + id: nodeDetails.id, image: nodeDetails.h_image, is_highlight: false + }); + } } } } @@ -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]); } @@ -1475,7 +1475,7 @@ function draw(isImport) { }); var nodesArray = []; - if (data.nodes.length > 0 && sNodes.length>0) { + if (data.nodes.length > 0 && sNodes.length > 0) { nodesArray = sNodes; //nodesArray.push(nodeData); } @@ -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) { @@ -1592,7 +1592,7 @@ function draw(isImport) { else nodesArray.push(nodeData); - + if (type == serviceJSON.component_type) { if (showMenu == 2)//enable service menu @@ -1635,7 +1635,7 @@ function draw(isImport) { $("#rcRoadmCancel").show(); } else { - if (nodesArray.length > 1 && sNodes.length>1) { + if (nodesArray.length > 1 && sNodes.length > 1) { $("#rcRoadmCopy").hide(); $("#rcRoadmCopyPara").hide(); }