Web Topology 如何扩展

1、节点数据结构:

{nodes:
 [{
  'id':'n0',
  'label':'节点0',
  'icon':'cisco.gif',
  'x':'60',
  'y':'0',
  'droppable':false
 }]
}

2、连接线数据结构:

{lines:
 [{
  'isflag':'1',
  'aendId':'n3',
  'zendId':'n0'
 }]
}

3、注意点:
 1)、nodes中的id与lines中的aendId或zendId对应。
 2)、lines中的aendId为子节点ID,zendId为父节点ID
4、实现:
initNodeData()
 初始化节点数据,使用后台json数据拼装返回符合的字符串
initLineData()
 初始化连接数据,使用后台json数据拼装返回符合的字符串

<script type="text/javascript">
      window.addEvent('domready', init);
      function init() {
   var s = new Date();
 var popup = new Topo.NodeMenu('popmenu');
   var linePop = new Topo.LineMenu('popmenuLine');
          Topo.init('topo2');
          var data = initNodeData();
          data.nodes.each(function(node){
              var topoNode = new Topo.Node(node,{'onDblClick':dblClick});
       popup.attachElement(topoNode);
          });
          data = initLineData();
          data.lines.each(function(line){
              var topoLine = new Topo.Line(line);
         linePop.attachElement(topoLine);
          });
          Topo.complete();
   alert(new Date().getTime()-s.getTime());
      };
      function dblClick(event,node) {
          alert(node.getId());
      };
    </script>

5、封装:

TopoLine.js
  if(line.isflag==1){
   this.setColor('red');
   }else{
     this.setColor('rgb(0,255,0)');
         }
         this.draw();
     },

initLineData()方法中添加isflag属性:{lines:[{'isflag':'1','aendId':'n"+a1+"','zendId':'n"+a2+"'}]}

 

效果如图:isflag==1是红色,否则为绿色

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值