width:990px !important;\r
line-height: 10px;\r
\r
- font-weight: bold;\r
+ font-weight: normal;\r
}\r
#nemo_str_show p{\r
white-space:nowrap;\r
/*margin-left: 5px;*/\r
}\r
#nemo_str_show span.keyWords{\r
- color:deeppink;\r
+ /*color:deeppink;*/\r
+ /*font-weight: bold;*/\r
+ color: #eb8f00;\r
}\r
\r
/*jquery ui tab css start*/\r
.ui-widget-header {\r
border: 1px solid #ccc;\r
background: #aaa url("../images/ui-bg_gloss-wave_35_f6a828_500x100.png") 50% 50% repeat-x;\r
- background:#aaa;\r
+ background:#9bf;\r
color: #fff;\r
font-weight: bold;\r
}\r
//localStorage.clear();\r
//show the tab\r
$(".tabs").tabs();\r
- // $(".tabs ul li[aria-controls='intent_topo']").trigger('click');\r
+ \r
+ jQuery('a[href="#/nemo"]').click(function(){\r
+ jQuery("#page_logo").attr("src","src/app/nemo/images/logo_nemo.png").attr("ng-src","src/app/nemo/images/logo_nemo.png");\r
+ })\r
+ jQuery('a[href="#/nemo"]').click();\r
});\r
\r
\r
}\r
\r
getIntentInfos();\r
-//getIntentDatas();\r
+// getIntentDatas();\r
function getIntentInfoById(user_id,Data){\r
//console.log(1);\r
if(!Data) Data=IntentInfos;\r
var text2_main = jQuery(text2).attr({\r
id: node_name + "_title2",\r
x: circle_x,\r
- y: circle_y + 10,\r
+ y: circle_y + 0 - 100,\r
fill: " ",\r
'text-anchor': 'middle'\r
});\r
var text2_main = jQuery(text2).attr({\r
id: node_name + "_title2",\r
x: circle_x,\r
- y: circle_y - 30,\r
+ y: (circle_y - 0 - 100),\r
fill: "black",\r
'text-anchor': 'middle'\r
});\r
var text3_main = jQuery(text3).attr({\r
id: node_list[0] + '_text',\r
x: circle_x,\r
- y: circle_y,\r
+ y: circle_y + 5,\r
fill: "black",\r
'text-anchor': 'middle'\r
});\r
var text2_main = jQuery(text2).attr({\r
id: node_name + "_title2",\r
x: circle_x,\r
- y: circle_y - 31,\r
+ y: circle_y - 0 - 100,\r
fill: "black",\r
'text-anchor': 'middle'\r
});\r
var text2_main = jQuery(text2).attr({\r
id: node_name + "_title2",\r
x: circle_x,\r
- y: circle_y - 36,\r
+ y: circle_y - 0 - 100,\r
+ fill: "black",\r
+ 'text-anchor': 'middle'\r
+ });\r
+ jQuery(text2).text(node_type);\r
+ var text3 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
+ var text3_main = jQuery(text3).attr({\r
+ id: node_list[0] + '_text',\r
+ x: circle_x,\r
+ y: circle_y - 13,\r
+ fill: "black",\r
+ 'text-anchor': 'middle'\r
+ });\r
+ jQuery(text3).text(node_list[0]);\r
+ var text4 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
+ var text4_main = jQuery(text4).attr({\r
+ id: node_list[1] + '_text',\r
+ x: circle_x,\r
+ y: circle_y + 15,\r
+ fill: "black",\r
+ 'text-anchor': 'middle'\r
+ });\r
+ jQuery(text4).text(node_list[1]);\r
+ var text5 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
+ var text5_main = jQuery(text5).attr({\r
+ id: node_list[2] + '_text',\r
+ x: circle_x,\r
+ y: circle_y + 45,\r
+ fill: "black",\r
+ 'text-anchor': 'middle'\r
+ });\r
+ jQuery(text5).text(node_list[2]);\r
+ var g_main = jQuery(g).append(inCircle1_main);\r
+ jQuery(g).append(host1_main);\r
+ jQuery(g).append(host2_main);\r
+ jQuery(g).append(host3_main);\r
+ jQuery(g).append(text1_main);\r
+ jQuery(g).append(text2_main);\r
+ jQuery(g).append(text3_main);\r
+ jQuery(g).append(text4_main);\r
+ jQuery(g).append(text5_main);\r
+ jQuery(g).attr("id", node_name);\r
+ jQuery(g).attr("type", node_type);\r
+ jQuery(g).attr("sub", node_name,node_list[0] + "," + node_list[1] + "," + node_list[2]);\r
+ if (node_type.indexOf("chain") > -1)\r
+ jQuery(g).attr("flow", 0);\r
+ jQuery('#service_svg2').append(g);\r
+ }\r
+ else if(node_number >=4){\r
+ var g = document.createElementNS('http://www.w3.org/2000/svg', 'g');\r
+ var circle_main = document.createElementNS('http://www.w3.org/2000/svg', 'circle');\r
+ var inCircle1_main = jQuery(circle_main).attr({\r
+ id: node_name + "_group",\r
+ cx: circle_x,\r
+ cy: circle_y,\r
+ r: 90,\r
+ 'stroke': "black",\r
+ 'stroke-width': 3,\r
+ fill: "white"\r
+ });\r
+ var host1 = document.createElementNS('http://www.w3.org/2000/svg', 'rect');\r
+ var host1_main = jQuery(host1).attr({\r
+ id: node_list[0],\r
+ x: circle_x - 55,\r
+ y: circle_y - 31,\r
+ width: 110,\r
+ height: 25,\r
+ 'stroke': "black",\r
+ 'stroke-width': 1,\r
+ fill: "white"\r
+ });\r
+ var host2 = document.createElementNS('http://www.w3.org/2000/svg', 'rect');\r
+ var host2_main = jQuery(host2).attr({\r
+ id: node_list[1],\r
+ x: circle_x - 55,\r
+ y: circle_y - 3,\r
+ width: 110,\r
+ height: 25,\r
+ 'stroke': "black",\r
+ 'stroke-width': 1,\r
+ fill: "white"\r
+ });\r
+ var host3 = document.createElementNS('http://www.w3.org/2000/svg', 'rect');\r
+ var host3_main = jQuery(host3).attr({\r
+ id: node_list[2],\r
+ x: circle_x - 55,\r
+ y: circle_y + 27,\r
+ width: 110,\r
+ height: 25,\r
+ 'stroke': "black",\r
+ 'stroke-width': 1,\r
+ fill: "white"\r
+ });\r
+ var text1 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
+ var text1_main = jQuery(text1).attr({\r
+ id: node_name + "_title1",\r
+ x: circle_x,\r
+ y: circle_y - 51,\r
+ fill: "black",\r
+ 'text-anchor': 'middle',\r
+ "stroke": "black",\r
+ "stroke-width": 0.8\r
+ });\r
+ jQuery(text1).text(node_name);\r
+ var text2 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
+ var text2_main = jQuery(text2).attr({\r
+ id: node_name + "_title2",\r
+ x: circle_x,\r
+ y: circle_y - 0 - 100,\r
fill: "black",\r
'text-anchor': 'middle'\r
});\r
var text4_main = jQuery(text4).attr({\r
id: node_list[1] + '_text',\r
x: circle_x,\r
- y: circle_y + 13,\r
+ y: circle_y + 15,\r
fill: "black",\r
'text-anchor': 'middle'\r
});\r
var text5_main = jQuery(text5).attr({\r
id: node_list[2] + '_text',\r
x: circle_x,\r
- y: circle_y + 43,\r
+ y: circle_y + 45,\r
fill: "black",\r
'text-anchor': 'middle'\r
});\r
jQuery(text5).text(node_list[2]);\r
+ var text6 = document.createElementNS('http://www.w3.org/2000/svg', 'text');\r
+ var text6_main = jQuery(text6).attr({\r
+ id: node_list[2] + '_text',\r
+ x: circle_x,\r
+ y: circle_y + 43+25,\r
+ fill: "black",\r
+ 'text-anchor': 'middle'\r
+ });\r
+ jQuery(text6).text("........");\r
var g_main = jQuery(g).append(inCircle1_main);\r
jQuery(g).append(host1_main);\r
jQuery(g).append(host2_main);\r
jQuery(g).append(text3_main);\r
jQuery(g).append(text4_main);\r
jQuery(g).append(text5_main);\r
+ jQuery(g).append(text6_main);\r
jQuery(g).attr("id", node_name);\r
jQuery(g).attr("type", node_type);\r
jQuery(g).attr("sub", node_name,node_list[0] + "," + node_list[1] + "," + node_list[2]);\r
if(!physicalData) physicalData=physicalJson;
if(!physicalData) return;
}
-getPhysicalData();
+// getPhysicalData();
function createPhysicalTopo(Data){
nodes_phy.clear();
nodes_phy.add({
id: +i+1,
label: physicalHost[i]["host-name"],
- image: "src/app/nemo/images/phyHost.png",
+ image: "src/app/nemo/images/host.png",
shape: 'image',
fontSize: 15
});
externalNode[i]=[nodeslen+1,externalNode[i][0]];
nodes_phy.add({
id: ++nodeslen,
- label: '',
+ label: 'ext-network',
image: "src/app/nemo/images/ext-group.png",
shape: 'image',
});
physicalnodes[Mynode[i]['node-id']].push([interPort,exterPort]);
}
console.log(physicalnodes);
- jQuery("#"+id).find('tr:gt(0)').empty();
+ jQuery("#"+id).find('tr').remove();
for(var item in physicalnodes){
var $tr='<tr><td>'+item+'</td><td>'+physicalnodes[item][0]+'</td>'
$tr+='<td>'+physicalnodes[item][1][0]+'</td><td>'+physicalnodes[item][1][1]+'</td>'
$tr+='</tr>'
jQuery("#"+id).append($tr);
}
+ var node_count = jQuery("#"+id).find('tr').length;
+ console.log("node_count:",node_count);
+ if(!node_count) return;
+ if(node_count<10){
+ jQuery("div.tableBodyContainer:first").height(node_count*22+5);
+ }
+ else{
+ jQuery("div.tableBodyContainer:first").height(200);
+ }
},
createPhyicalLinkTable:function (id,Data){
if(!Data) Data=physicalData;
}
console.log(physaicallinks);
- jQuery("#"+id).find('tr:gt(0)').empty();
+ jQuery("#"+id).find('tr').remove();
for(var item in physaicallinks){
var $tr='<tr><td>'+item+'</td><td>'+physaicallinks[item][0]+'</td>'
$tr+='<td>'+physaicallinks[item][1]+'</td><td>'+physaicallinks[item][2]+'</td>';
// console.log(VirtualDatas);
//return virtualDatas;
}
-//getVirtualDatas();
+// getVirtualDatas();
function getVirtualInfoById(user_id,Data){
if(!Data) Data=VirtualDatas;
if(!Data) return;
// virtualnodes[Mynode[i]['node-id']]=Mynode[i]['node-type'];
// }
// console.log(virtualnodes);
- jQuery("#"+id).find('tr:gt(1)').empty();
+ jQuery("#"+id).find('tr:gt(0)').empty();
for(var item in virtualnodes){
// if(virtualnodes[item][1]!='external-node'){}
$tr+='</tr>'
jQuery("#"+id).append($tr);
}
+ var node_count = jQuery("#"+id).find('tr').length;
+ console.log("node_count:",node_count);
+ if(!node_count) return
+ if(node_count<10){
+ jQuery("div.tableBodyContainer:eq(2)").height(node_count*22+5);
+ }
+ else{
+ jQuery("div.tableBodyContainer:eq(2)").height(200);
+ }
},
createVirtualLinkTable:function (id,Data){
}
console.log(virtuallinks);
- jQuery("#"+id).find('tr:gt(1)').empty();
+ jQuery("#"+id).find('tr:gt(0)').empty();
for(var item in virtuallinks){
var $tr='<tr><td title='+item+'>'+item+'</td><td>'+virtual_nodes[virtuallinks[item][0]][1]+'-'+virtual_nodes[virtuallinks[item][1]][1]+'</td>'
$tr+='<td>'+virtual_nodes[virtuallinks[item][0]][1]+'<td>'+virtual_nodes[virtuallinks[item][1]][1]+'</td>';
}\r
\r
getMappingResults();\r
-//getMappingDatas();\r
+// getMappingDatas();\r
function getMappingResultById(user_id, Data) {\r
if (!Data) Data = MappingResults;\r
if (!Data) return;\r
var $tr = '<tr><td>' + virtual_nodes[i][1] + '</td><td>' + virtualnodes[i] + '</td></tr>'\r
jQuery("#" + id).append($tr);\r
}\r
+ var node_count = jQuery("#"+id).find('tr').length;\r
+ console.log("node_count:",node_count);\r
+ if(!node_count) return\r
+ if(node_count<10){\r
+ jQuery("div.tableBodyContainer:eq(4)").height(node_count*22+5);\r
+ }\r
+ else{\r
+ jQuery("div.tableBodyContainer:eq(4)").height(200);\r
+ }\r
},\r
\r
PathId: [], //virtual-link-id--->physical-path-id\r
}\r
}\r
//console.log(userinfo);\r
-userinfo={\r
+userinfo2={\r
"users": {\r
"user": [\r
{\r
"node-id": "c2cd9de6-ab25-4d3f-bff2-c4d785a41995",\r
"order": 0\r
},\r
+ {\r
+ "node-id": "c2cd9de6-ab25-4d3f-bff2-c4d785a419952",\r
+ "order": 2\r
+ },\r
{\r
"node-id": "a5a96dc7-51dd-44a5-802b-7e67a309fb36",\r
"order": 1\r
}\r
+ \r
]\r
},\r
{\r
"node-type": "fw",\r
"node-name": "fw1"\r
},\r
+ {\r
+ "node-id": "c2cd9de6-ab25-4d3f-bff2-c4d785a419952",\r
+ "property": [\r
+ {\r
+ "property-name": "location",\r
+ "property-values": {\r
+ "string-value": [\r
+ {\r
+ "value": "openflow:1:1",\r
+ "order": 0\r
+ }\r
+ ]\r
+ }\r
+ },\r
+ {\r
+ "property-name": "operating-mode",\r
+ "property-values": {\r
+ "string-value": [\r
+ {\r
+ "value": "layer3",\r
+ "order": 0\r
+ }\r
+ ]\r
+ }\r
+ }\r
+ ],\r
+ "node-type": "fw",\r
+ "node-name": "fw2"\r
+ },\r
{\r
"node-id": "b46cfa7f-93a3-43f4-ac20-09307c75feca",\r
"property": [\r
<link href="src/app/nemo/css/nemo_user_main.css" rel="stylesheet" />\r
<link href="src/app/nemo/css/nemo_main.css" rel="stylesheet" />\r
\r
- <!-- // <script src="src/app/nemo/module/migrate_js.js"></script> -->\r
+ <!-- // <script src="src/app/nemo/module/migrate_js.js"></script> -->\r
<script src="src/app/nemo/js/Nemo_Main.js"></script>\r
<script src="src/app/nemo/module/keyWords.js"></script>\r
<script src="src/app/nemo/module/migrate.js"></script>\r
console.log(userId);\r
\r
// SFC\r
- //userId='af4fc2be-e3f4-4388-a8ef-3aabae872f2b';\r
+ // userId='af4fc2be-e3f4-4388-a8ef-3aabae872f2b';\r
//Bod\r
- //var userId='14ce424a-3e50-4a2a-ad5c-b29845158c8b'\r
- //if(userId=='0') userId='14ce424a-3e50-4a2a-ad5c-b29845158c8b';\r
+ // var userId='14ce424a-3e50-4a2a-ad5c-b29845158c8b'\r
+ // if(userId=='0') userId='14ce424a-3e50-4a2a-ad5c-b29845158c8b';\r
$('#service_svg2').empty();\r
$("#nemo_str_show").empty();\r
console.log(userId);\r
if(!IntentInfos) return;\r
- var user_data = getIntentInfoById(userId);\r
+ var user_data = getIntentInfoById(userId,userinfo);\r
if(!user_data) return;\r
\r
analyjson_topo(user_data);\r
// var virtualData=getVirtualJson();\r
var userId=$("#selectUser option:selected").val();\r
jQuery('#vir_graph').empty();\r
- jQuery("#virNodeTab").find('tr:gt(0)').empty();\r
- jQuery("#virLinkTab").find('tr:gt(0)').empty();\r
+ jQuery("#virNodeTab").find('tr').remove();\r
+ jQuery("#virLinkTab").find('tr').remove();\r
// SFC\r
//userId='af4fc2be-e3f4-4388-a8ef-3aabae872f2b';\r
//Bod\r
//userId='14ce424a-3e50-4a2a-ad5c-b29845158c8b'\r
\r
- //if(userId=='0') userId='14ce424a-3e50-4a2a-ad5c-b29845158c8b';\r
+ // if(userId=='0') userId='14ce424a-3e50-4a2a-ad5c-b29845158c8b';\r
// virtualData=virtualJson;\r
\r
- if(!IntentInfos||!MappingResults||!VirtualDatas) return;\r
- if(!getVirtualInfoById(userId)||!getIntentInfoById(userId)||!getMappingResultById(userId)) return;\r
+ if(!IntentInfos||!MappingResults||!VirtualDatas) return;\r
+ if(!getVirtualInfoById(userId)||!getIntentInfoById(userId)||!getMappingResultById(userId)) return;\r
create_virtual_topo(getVirtualInfoById(userId),getIntentInfoById(userId),getMappingResultById(userId));\r
creataVirtualTables.createVirtualNodeTable('virNodeTab',getVirtualInfoById(userId));\r
creataVirtualTables.createVirtualLinkTable('virLinkTab',getVirtualInfoById(userId));\r
// $(".tabs ul li[aria-controls='Mapping']").click();\r
$(".tabs ul li[aria-controls='Mapping']").click(function(){\r
var userId=$("#selectUser option:selected").val();\r
- userId='14ce424a-3e50-4a2a-ad5c-b29845158c8b';\r
- jQuery("#mapVirNodeTab").find('tr:gt(0)').empty();\r
- jQuery("#mapVirLinkTab").find('tr:gt(0)').empty();\r
- if(!physicalData||!PnMappingResults||!VirtualDatas) return;\r
+ // userId='14ce424a-3e50-4a2a-ad5c-b29845158c8b';\r
+ jQuery("#mapVirNodeTab").find('tr').remove();\r
+ jQuery("#mapVirLinkTab").find('tr').remove();\r
+ if(!physicalData||!PnMappingResults||!VirtualDatas) return;\r
var virtualData = getVirtualInfoById(userId);\r
- if(!virtualData) return;\r
- if(!getPnMappingResultById(userId)) return;\r
+ if(!virtualData) return;\r
+ if(!getPnMappingResultById(userId)) return;\r
// console.log(createMappingTables);\r
console.log(virtualData);\r
createMappingTables.createVirtualNodeTable('mapVirNodeTab',virtualData);\r
<div id="intent_info">\r
<div id="intent_topo">\r
\r
- <svg id="service_svg2" width="800" height="560" viewBox="100 40 900 780">\r
+ <svg id="service_svg2" width="800" height="560" viewBox="100 20 900 780">\r
<defs>\r
<marker id="idArrow2" viewBox="0 0 20 20" refX="0" refY="10" markerUnits="strokeWidth" markerWidth="6" markerHeight="15" orient="auto"><path d="M 0 0 L 20 10 L0 20 z"fill="purple"stroke="black"/> </marker>\r
<marker id="idtext2" viewBox="0 0 120 50" refX="0" refY="0" markerUnits="strokeWidth" markerWidth="20" markerHeight="20" orient="auto"><text style="font-family:sans-serif; font-size:14pt;" x="20" y="20">text</text></marker> \r
<title>nemo-register</title>\r
<link rel="stylesheet" href="src/app/nemo/css/register.css">\r
<script src="lib/jquery-2.1.4.min.js"></script>\r
- <script src="src/app/nemo/js/jquery.cookie.js"></script>\r
+ <script src="src/app/nemo/js/Nemo_Main.js"></script>\r
<script>\r
function setCookie(name,value,Days) \r
{ \r
$("#pageContent").load('src/app/nemo/nemo.tpl.html');\r
}\r
else{\r
- userPassword(cook_username,cook_userpwd);\r
+ userLogin(cook_username,cook_userpwd);\r
}\r
}());\r
$("#usename").focus();\r