1 /* Copyright 2016, Huawei Technologies Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
7 * http://www.apache.org/licenses/LICENSE-2.0
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
16 function extractOverlayVPNId()
18 var parameters = location.search.substring(1).split("&");
19 var temp = parameters[0].split("=");
20 var id = unescape(temp[1]);
25 function Topology(containerId) {
28 * IMPORTANT: This only works with the canvas renderer. TBD in the future
29 * will also support the WebGL renderer.
31 sigma.utils.pkg('sigma.canvas.nodes');
40 // This works only with the canvas renderer, so the
41 // renderer type set as "canvas" is necessary here.
42 container : document.getElementById(containerId),
48 edgeLabelSize : 'proportional'
51 this.addNode = addNode;
52 this.addEdge = addEdge;
55 function addNode(node) {
57 this.s.graph.addNode(node);
61 function addEdge(edge) {
62 this.s.graph.addEdge(edge);
67 var node1 = new Node("1", "ThinCPE", 16, "device_icon", 0.1, 0.5);
68 var node2 = new Node("2", "vCPE", 16, "device_icon", 0.4, 0.5);
69 var node3 = new Node("3", "GW", 16, "device_icon", 0.8, 0.5);
71 var node6 = new Node("6", "FW", 8, "sfc_device_icon", 0.85, 0.4);
72 var node7 = new Node("7", "LB", 8, "sfc_device_icon", 0.9, 0.3);
73 var node8 = new Node("8", "VPC", 48, "network_icon", 1.05, 0.4);
75 var node4 = new Node("4", "vFW", 8, "sfc_device_icon", 0.32, 0.35);
76 var node5 = new Node("5", "vLB", 8, "sfc_device_icon", 0.48, 0.35);
78 var edge1 = new Edge("e1", "VxLAN", "1", "2", 0.5, "blue");
79 var edge2 = new Edge("e2", "IPSec", "2", "3", 0.5, "green");
82 var edge3 = new Edge("e3", "", "2", "4", 0.5, "grey");
83 var edge4 = new Edge("e4", "", "4", "5", 0.5, "grey");
84 var edge5 = new Edge("e5", "", "5", "2", 0.5, "grey");
86 var edge6 = new Edge("e6", "", "3", "6", 0.5, "grey");
87 var edge7 = new Edge("e7", "", "6", "7", 0.5, "grey");
88 var edge8 = new Edge("e8", "", "7", "8", 0.5, "grey");
90 var topology = new Topology("container");
92 topology.addNode(node1);
93 topology.addNode(node2);
94 topology.addNode(node3);
95 topology.addNode(node4);
96 topology.addNode(node5);
97 topology.addNode(node6);
98 topology.addNode(node7);
99 topology.addNode(node8);
101 topology.addEdge(edge1);
102 topology.addEdge(edge2);
103 topology.addEdge(edge3);
104 topology.addEdge(edge4);
105 topology.addEdge(edge5);
107 topology.addEdge(edge6);
108 topology.addEdge(edge7);
109 topology.addEdge(edge8);
112 CustomShapes.init(topology.s);
113 topology.s.refresh();
116 $(document).ready(function() {