new Data()
数据元素基类,包含基本属性设置、样式设置、事件派发、父子关系等功能
Methods
-
a(name, value) → {Object}
-
Parameters:
Name Type Argument Description name
String 属性名
value
Object <optional>
属性值
Returns:
- Type
- Object
-
addChild(child, index)
-
添加孩子节点,index为孩子插入索引,为空则插入作为最后的孩子,内部会自动调用child的setParent
Parameters:
Name Type Argument Description child
ht.Data 孩子元素
index
Number <optional>
插入索引
-
addStyleIcon(name, icon)
-
增加icon,icon参数请参考beginner guide
Parameters:
Name Type Description name
String icon名
icon
Object icon参数
Example
data.addStyleIcon("arrow1", { position: 2, width: 50, height: 25, keepOrien: true, names: ['arrow'] });
-
clearChildren()
-
删除所有孩子节点,内部会自动调用setParent
-
dm() → {ht.DataModel}
-
获取DataModel,getDataModel的缩写
Returns:
dataModel
- Type
- ht.DataModel
-
eachChild(func, scope)
-
遍历孩子元素
Parameters:
Name Type Argument Description func
function 遍历函数
scope
Object <optional>
函数域
Example
data.eachChild(function(child) { console.log(child.getId()); });
-
firePropertyChange(property, oldValue, newValue)
-
派发属性变化事件
Parameters:
Name Type Description property
String 属性名
oldValue
Object 旧值
newValue
Object 新值
-
fp(property, oldValue, newValue)
-
派发属性变化事件,同firePropertyChange
Parameters:
Name Type Description property
String 属性名
oldValue
Object 旧值
newValue
Object 新值
-
getAttr(name) → {Object}
-
获取attr属性
Parameters:
Name Type Description name
String 属性名
Returns:
- Type
- Object
-
getAttrObject() → {Object}
-
获取attr属性对象,该属性默认为空,用于存储用户业务信息
Returns:
attr属性对象
- Type
- Object
-
getChildAt(index) → {ht.Data}
-
返回指定索引位置的孩子
Parameters:
Name Type Description index
Number 索引
Returns:
索引对应的孩子
- Type
- ht.Data
-
getChildren() → {ht.List}
-
获取所有孩子节点
Returns:
孩子元素集合
- Type
- ht.List
-
getClass() → {function}
-
获取类声明(构造函数)
Returns:
类声明(构造函数)
- Type
- function
-
getClassName() → {String}
-
获取类全名,继承Data并希望序列化时应该重写此方法返回子类的类名字符串
Returns:
类全名
- Type
- String
-
getDataModel() → {ht.DataModel}
-
获取所属的DataModel
Returns:
DataModel数据容器
- Type
- ht.DataModel
-
getDisplayName() → {String}
-
获取显示名称,常作为Column和Property的列头和属性名称显示
Returns:
显示名称
- Type
- String
-
getIcon() → {String|Object}
-
获取小图标名称,常作为TreeView和ListView等组件上的节点小图标
Returns:
图标名或矢量
- Type
- String | Object
-
getId() → {Number}
-
获取唯一编号
Returns:
唯一编号
- Type
- Number
-
getLayer() → {String|Number}
-
获取数据元素在GraphView组件中的图层位置
- Default Value:
-
- 0
Returns:
图层名
- Type
- String | Number
-
getName() → {String}
-
获取数据元素名
Returns:
名称
- Type
- String
-
getParent() → {ht.Data}
-
获取父元素
Returns:
父元素
- Type
- ht.Data
-
getSerializableAttrs() → {Object}
-
此函数返回一个map,决定序列化时哪些attr属性可被序列化,默认所有attr对象里的属性都会被序列化
Returns:
需要被序列化的attr属性map
- Type
- Object
Example
function(){ var name, map = {}; for (name in this._attrObject) { map[name] = 1; } return map; }
-
getSerializableProperties() → {Object}
-
此函数返回一个map,决定序列化时哪些属性可被序列化,如果有自定义的get/set属性并且需要序列化,应该重写此方法
Returns:
需要被序列化的属性map
- Type
- Object
Example
function(){ return { name: 1, displayName: 1, icon: 1, toolTip: 1, parent: 1, layer: 1, tag: 1, adjustChildrenToTop: 1 }; }
-
getSerializableStyles() → {Object}
-
此函数返回一个map,决定序列化时哪些样式可被序列化,默认所有样式都会被序列化
Returns:
需要被序列化的样式map
- Type
- Object
Example
function(){ var name, map = {}; for (name in this._styleMap) { map[name] = 1; } return map; }
-
getStyle(name) → {Object}
-
获取样式属性
Parameters:
Name Type Description name
String 样式名
Returns:
- Type
- Object
-
getStyleMap() → {Object}
-
获取图元内部样式映射信息
Returns:
样式映射表
- Type
- Object
-
getSuperClass() → {function}
-
获取父类声明(构造函数),继承类时可以用来调用父类构造或函数
Returns:
父类声明(构造函数)
- Type
- function
Example
function MyNode() { this.getSuperClass().call(this);//调用父类构造函数 } ht.Default.def(MyNode, ht.Data, { setName: function(name) { this.getSuperClass().prototype.setName.call(this, name);//调用父类的setName函数 this._username = name; } });
-
getTag() → {String}
-
获取标示号,可通过getDataByTag快速查找
Returns:
标示号
- Type
- String
-
getToolTip() → {String}
-
获取文字提示信息
Returns:
文字提示
- Type
- String
-
getUIClass() → {function}
-
获取拓扑组件上的UI类
Returns:
UI类声明(构造函数)
- Type
- function
-
hasChildren() → {Boolean}
-
判断是否有孩子
Returns:
是否有孩子
- Type
- Boolean
-
invalidate()
-
强制触发属性变化事件通知界面更新
-
isAdjustChildrenToTop() → {Boolean}
-
GraphView点击图元会自动sendToTop,该属性决定是否对子图元也进行sendToTop操作
Returns:
是否将children自动sendToTop
- Type
- Boolean
-
isDescendantOf(data) → {Boolean}
-
判断自身是否为指定data的子孙
Parameters:
Name Type Description data
ht.Data 要对比的数据元素
Returns:
自身是否为指定data的子孙
- Type
- Boolean
-
isEmpty() → {Boolean}
-
判断是否有孩子,同hasChildren
Returns:
是否有孩子
- Type
- Boolean
-
isParentOf(data) → {Boolean}
-
判断自身是否为指定data的父亲
Parameters:
Name Type Description data
ht.Data 要对比的数据元素
Returns:
自身是否为指定data的父亲
- Type
- Boolean
-
isRelatedTo(data) → {Boolean}
-
判断自身与指定data是否有父子或子孙关系
Parameters:
Name Type Description data
ht.Data 要对比的数据元素
Returns:
自身与指定data是否有父子或子孙关系
- Type
- Boolean
-
iv()
-
强制触发属性变化事件通知界面更新,invalidate的缩写
-
onChildAdded(child, index)
-
添加孩子时的回调函数,可重载做后续处理
Parameters:
Name Type Description child
ht.Data 新增加的孩子元素
index
Number 索引
-
onChildRemoved(child, index)
-
删除孩子时的回调函数,可重载做后续处理
Parameters:
Name Type Description child
ht.Data 被删除的孩子元素
index
Number 索引
-
onParentChanged(oldParent, parent)
-
改变父亲元素时的回调函数,可重载做后续处理
Parameters:
Name Type Description oldParent
ht.Data 旧的父元素
parent
ht.Data 新的父元素
-
onPropertyChanged(event)
-
属性变化回调函数,可重载做后续处理
Parameters:
Name Type Description event
Object 属性变化事件
Example
//event格式: { property: 'name',//发生变化的属性 oldValue: 'oldValue',//旧值 newValue: 'newValue',''新值 data: data//发生变化的data }
-
onStyleChanged(name, oldValue, newValue)
-
样式属性变化时会回调该函数,可重载做后续处理
Parameters:
Name Type Description name
String 样式名
oldValue
Object 旧的样式值
newValue
Object 新的样式值
-
removeChild(child)
-
删除指定孩子元素,内部会自动调用孩子元素的setParent
Parameters:
Name Type Description child
ht.Data 要删除的孩子元素
-
removeStyleIcon(name)
-
删除icon
Parameters:
Name Type Description name
String 要删除的icon名
-
s(name, value) → {Object}
-
Parameters:
Name Type Argument Description name
String 样式名
value
Object <optional>
样式值
Returns:
- Type
- Object
-
setAdjustChildrenToTop(adjustToTop)
-
GraphView点击图元会自动sendToTop,该属性决定是否对子图元也进行sendToTop操作
Parameters:
Name Type Description adjustToTop
Boolean 是否将children自动sendToTop
-
setAttr(name, value)
-
设置attr属性
Parameters:
Name Type Description name
String 属性名
value
Object 属性值
-
setAttrObject(attrObject)
-
设置attr属性对象,该属性默认为空,用于存储用户业务信息
Parameters:
Name Type Description attrObject
Object attr属性对象
-
setDisplayName(displayName)
-
设置显示名称,常作为Column和Property的列头和属性名称显示
Parameters:
Name Type Description displayName
String 显示名称
-
setIcon(icon)
-
设置小图标名称,常作为TreeView和ListView等组件上的节点小图标
Parameters:
Name Type Description icon
String | Object 图标名或矢量
-
setId(id)
-
设置唯一编号,如果手工设置,一定要确保在data加入到DataModel之前设置并且唯一不重复
Parameters:
Name Type Description id
String | Number 唯一编号
-
setLayer(layer)
-
设置数据元素在GraphView组件中的图层位置
Parameters:
Name Type Description layer
String | Number 图层名
-
setName(name)
-
设置数据元素名称
Parameters:
Name Type Description name
String 数据元素名称
-
setParent(parent)
-
设置父元素
Parameters:
Name Type Description parent
ht.Data 父元素
-
setStyle(name, value)
-
设置样式
Parameters:
Name Type Description name
String 样式名
value
Object 样式值
-
setTag(tag)
-
设置标示号,可通过getDataByTag快速查找
Parameters:
Name Type Description tag
String 标示号
-
setToolTip(toolTip)
-
设置文字提示信息
Parameters:
Name Type Description toolTip
String 文字提示
-
size() → {Number}
-
获取孩子元素总数
Returns:
孩子元素总数
- Type
- Number
-
toChildren(matchFunc, scope) → {ht.List}
-
以matchFunc为过滤函数构建新的孩子元素集合
Parameters:
Name Type Argument Description matchFunc
function <optional>
过滤函数
scope
Object <optional>
函数域
Returns:
孩子元素集合
- Type
- ht.List
Example
var list = data.toChildren(function(child) { if (child.a('visible')) { return true; } });
-
toLabel() → {String}
-
返回值作为TreeView和GraphView等组件上的图元文字标签,默认返回displayName||name信息
Returns:
文字标签
- Type
- String
-
toString() → {String}
-
重写js默认的toString
Returns:
- Type
- String