在上一篇TWaver HTML5 + Node.js + express + socket.io + redis(三)中,您应该对Node.js的web框架express、实时通讯框架Socket.IO、redis客户端:redis有所了解了。这一篇将介绍TWaver HTML5的拓扑和通用组件功能,您将了解到:
1. 拓扑组件:twaver.network.Network
2. 树组件: twaver.controls.Tree
3. 属性页: twaver.controls.PropertySheet
4. 表格组件:twaver.controls.Table
5. 布局组件:twaver.controls.SplitPane、BorderPane等
一. 实现经典的左树右图效果 首先构造网元容器, 树和拓扑组件
//构造网元容器
var box = new twaver.ElementBox();
//构造拓扑
var network = new twaver.network.Network(box);
//构造树
var tree = new twaver.controls.Tree(box);
再构造SplitPane, 添加树和拓扑组件
function init() {
//构造左右分割面板, 左边为树, 右边为拓扑, 树占30%宽度
var split = new twaver.controls.SplitPane(tree, network, 'horizontal', 0.3);
var view = split.getView();
//设置分割面板占满屏幕
view.style.position = 'absolute';
view.style.left = '0px';
view.style.right = '0px';
view.style.top = '0px';
view.style.bottom = '0px';
//添加分割面板
document.body.appendChild(view);
//窗口变化后, 重画分割面板
window.onresize = function () {
split.invalidate();
}
}
二. 填充数据 TWaver HTML5和TWaver其他分支一样, 所有组件都体现了MVC思想. 用户使用时, 只需要将业务数据和TWaver的数据模型绑定, 既可以显示数据.
twaver.Data是所有数据模型的基类, 此类的构造函数支持Object类型的参数, Object对象里的属性和twaver.Data的属性一一对应. 所以, 拿到上一篇后台的数据后,
var data = {
id: 'from',
name: 'From',
location: { x: 100, y: 100 }
}
可以直接这样构造节点对象:
var node = new twaver.Node(data);
修改上一篇的onGetData方法, 构造节点和连线
//getData消息处理方法
function onGetData(datas) {
var i, n, nodes, links, node, link, data, from, to;
//添加节点
for(i=0, nodes=datas.nodes, n=nodes.length; i
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com