twaver.DataBox Class
数据容器对象
数据容器是用于管理数据对象的。它是一种不可见的对象,在TWaver的MVC框架中处于M(模型)层,它是所有视图的数据提供者,比如network,table,tree,propertySheet等。
数据容器可以管理数据对象的增减事件变化,也可以监听到数据的属性事件变化。
数据容器上包含着选择容器,用于管理所有选中的数据
Constructor
Item Index
Methods
- twaver.DataBox.add
- twaver.DataBox.addByDescendant
- twaver.DataBox.addDataBoxChangeListener
- twaver.DataBox.addDataPropertyChangeListener
- twaver.DataBox.addHierarchyChangeListener
- twaver.DataBox.clear
- twaver.DataBox.contains
- twaver.DataBox.containsById
- twaver.DataBox.deserializeClientJson
- twaver.DataBox.deserializeClientXml
- twaver.DataBox.deserializeJson
- twaver.DataBox.deserializePropertyJson
- twaver.DataBox.deserializePropertyXml
- twaver.DataBox.deserializeXml
- twaver.DataBox.forEach
- twaver.DataBox.forEachByBreadthFirst
- twaver.DataBox.forEachByDepthFirst
- twaver.DataBox.forEachReverse
- twaver.DataBox.getClient
- twaver.DataBox.getClientMap
- twaver.DataBox.getClientProperties
- twaver.DataBox.getDataAt
- twaver.DataBox.getDataById
- twaver.DataBox.getDatas
- twaver.DataBox.getIcon
- twaver.DataBox.getLimit
- twaver.DataBox.getName
- twaver.DataBox.getRandomData
- twaver.DataBox.getRoots
- twaver.DataBox.getSelectionModel
- twaver.DataBox.getSiblingIndex
- twaver.DataBox.getSiblings
- twaver.DataBox.getToolTip
- twaver.DataBox.handleDataPropertyChange
- twaver.DataBox.isEmpty
- twaver.DataBox.moveDown
- twaver.DataBox.moveSelectionDown
- twaver.DataBox.moveSelectionToBottom
- twaver.DataBox.moveSelectionToTop
- twaver.DataBox.moveSelectionUp
- twaver.DataBox.moveTo
- twaver.DataBox.moveToBottom
- twaver.DataBox.moveToTop
- twaver.DataBox.moveUp
- twaver.DataBox.newInstance
- twaver.DataBox.onClientChanged
- twaver.DataBox.onDataPropertyChanged
- twaver.DataBox.remove
- twaver.DataBox.removeById
- twaver.DataBox.removeDataBoxChangeListener
- twaver.DataBox.removeDataPropertyChangeListener
- twaver.DataBox.removeFirst
- twaver.DataBox.removeHierarchyChangeListener
- twaver.DataBox.removeSelection
- twaver.DataBox.serializeClientJson
- twaver.DataBox.serializeClientXml
- twaver.DataBox.serializeJson
- twaver.DataBox.serializePropertyJson
- twaver.DataBox.serializePropertyXml
- twaver.DataBox.serializeXml
- twaver.DataBox.setClient
- twaver.DataBox.setIcon
- twaver.DataBox.setLimit
- twaver.DataBox.setName
- twaver.DataBox.setToolTip
- twaver.DataBox.size
- twaver.DataBox.toDatas
- twaver.PropertyChangeDispatcher.addPropertyChangeListener
- twaver.PropertyChangeDispatcher.firePropertyChange
- twaver.PropertyChangeDispatcher.getClassName
- twaver.PropertyChangeDispatcher.onPropertyChanged
- twaver.PropertyChangeDispatcher.removePropertyChangeListener
Properties
Methods
twaver.DataBox.add
-
data -
[index]
往数据容器中添加一个数据
Parameters:
-
datatwaver.Data数据对象
-
[index]String optional添加的数据次序。为空时,就将这个数据添加在最后的位置
twaver.DataBox.addDataBoxChangeListener
-
listener -
[scope] -
[ahead]
添加数据容器的数据增减变化的监听器。当数据容器中的数据发生改变时(增加,删除,清空),就可以通过此方法监听
Parameters:
-
listenerFunction网元更改事件的监听器
-
[scope]Object optional监听器的作用域,为空时指的是window
-
[ahead]Boolean optional是否添加在最前方,如果为空,则添加在最后一个位置
twaver.DataBox.addDataPropertyChangeListener
-
listener -
[scope] -
[ahead]
添加数据容器中数据的属性更改事件的监听器。当数据容器中的数据属性发生变化时,比如网元位置,网元名称等,都可以通过此方法来监听
Parameters:
-
listenerFunction网元属性更改事件的监听器
-
[scope]Object optional监听器的作用域,为空时指的是window
-
[ahead]Boolean optional是否添加在最前方,如果为空,则添加在最后一个位置
twaver.DataBox.addHierarchyChangeListener
-
listener -
[scope] -
[ahead]
添加数据的层次变化的监听器,当数据层次发生时,比如上移,下移,移至顶部,底部,会派发出层次变化的事件,就可以通过这个方法来监听到
Parameters:
-
listenerFunction数据的层次变化的监听器
-
[scope]Object optional监听器的作用域,为空时指的是window
-
[ahead]Boolean optional是否添加在最前方,如果为空,则添加在最后一个位置
twaver.DataBox.clear
()
清空数据容器中所有的数据
twaver.DataBox.contains
-
data
判断是否包含某个数据
Parameters:
-
datatwaver.Data数据对象
Returns:
true为包含,false不包含
twaver.DataBox.containsById
-
id
通过数据ID判断是否包含某个数据
Parameters:
-
idObject数据的ID编号
Returns:
true为包含,false不包含
twaver.DataBox.deserializeClientJson
-
serializer -
json -
clientProp
反序列化JSON数据到数据容器的Client属性
Parameters:
-
serializertwaver.JsonSerializerJSON序列化对象
-
jsonStringJSON数据片段
-
clientPropStringClient属性名
twaver.DataBox.deserializeClientXml
-
serializer -
clientXml -
clientProp
反序列化XML数据到数据容器的Client属性
Parameters:
-
serializertwaver.XmlSerializerXML序列化对象
-
clientXmlStringXML数据片段
-
clientPropStringClient属性名
twaver.DataBox.deserializeJson
-
serializer -
json
反序列化JSON数据到数据容器,包含数据容器的Client属性,Property属性。
Parameters:
-
serializertwaver.JsonSerializerJSON序列化对象
-
jsonStringJSON数据
twaver.DataBox.deserializePropertyJson
-
serializer -
json -
property
反序列化JSON数据到数据容器的自身(property)属性
Parameters:
-
serializertwaver.JsonSerializerJSON序列化对象
-
jsonStringJSON数据
-
propertyString数据容器的属性名称
twaver.DataBox.deserializePropertyXml
-
serializer -
propertyXml -
property
反序列化XML数据到数据容器的自身(property)属性
Parameters:
-
serializertwaver.XmlSerializerXML序列化对象
-
propertyXmlStringXML数据
-
propertyString数据容器的属性名称
twaver.DataBox.deserializeXml
-
serializer -
xml
反序列化XML数据到数据容器,包含数据容器的Client数据,Property属性
Parameters:
-
serializertwaver.XmlSerializerXML序列化对象
-
xmlStringXML数据
twaver.DataBox.forEach
-
f -
[scope]
遍历数据容器中的所有数据
Parameters:
-
fFunction回调函数
-
[scope]Object optional回调函数的作用域,为空时指的是window
twaver.DataBox.forEachByBreadthFirst
-
callbackFunction -
[data] -
[scope]
广度优先遍历数据容器中指定数据的所有子孙数据。如果指定数据为空时,就会遍历数据容器中的所有数据
Parameters:
-
callbackFunctionFunction回调函数
-
[data]twaver.Data optional遍历的数据对象,为空时会遍历数据容器中的所有数据
-
[scope]Object optional回调函数的作用域,为空时指的是window
twaver.DataBox.forEachByDepthFirst
-
callbackFunction -
[data] -
[scope]
深度优先遍历数据容器中指定数据的所有子孙数据。如果指定数据为空时,就会遍历数据容器中的所有数据
Parameters:
-
callbackFunctionFunction回调函数
-
[data]twaver.Data optional遍历的数据对象,为空时会遍历数据容器中的所有数据
-
[scope]Object optional回调函数的作用域,为空时指的是window
twaver.DataBox.forEachReverse
-
f -
[scope]
反序遍历数据容器中所有数据
Parameters:
-
fFunction回调函数
-
[scope]Object optional回调函数的作用域,为空时指的是window
twaver.DataBox.getClient
-
clientProp
根据Client属性名,获取对应的属性值。 Client属性是用于存放用户自定义的属性
Parameters:
-
clientPropStringClient属性名称
Returns:
Client属性值
twaver.DataBox.getClientProperties
()
twaver.List
获取数据容器中所有的Client属性名。 Client属性是用于存放用户自定义的属性
Returns:
所有的Client属性名的集合
twaver.DataBox.getDataAt
-
index
获取数据容器中某个序号上的数据
Parameters:
-
indexNumber数据的序号
Returns:
数据对象
twaver.DataBox.getDataById
-
id
根据数据的ID编号获取对应的数据
Parameters:
-
idObject数据的ID编号
Returns:
数据对象
twaver.DataBox.getIcon
()
String
获取数据容器的图标,图标一般是用于在树上显示的
Returns:
图标名称
twaver.DataBox.getLimit
()
Number
获取数据容器的上限数。默认为-1,是没有上限的,一旦设置了上限数,当添加的数据数量大于这个上限数时,TWaver就会删除最旧的数据
Returns:
数据容器的上限数
twaver.DataBox.getName
()
String
获取数据容器的名称
Returns:
数据容器的名称
twaver.DataBox.getRandomData
-
[type]
从容器中随机获取一个数据,也可以指定数据的类型
Parameters:
-
[type]String optional数据的类型
Returns:
twaver.DataBox.getRoots
()
twaver.List
获取数据容器中所有根下的数据。根下的数据指的是没有父亲的数据
Returns:
所有根下数据的集合
twaver.DataBox.getSelectionModel
()
twaver.SelectionModel
获取数据容器中的选择容器。选择容器用于存放所有选中的数据对象,更详细的解释请参看SelectionModel类
Returns:
选中数据的容器
twaver.DataBox.getSiblingIndex
-
data
获取指定数据在兄弟数据中的序号
Parameters:
-
datatwaver.Data数据对象
Returns:
数据对象的序号
twaver.DataBox.getSiblings
-
data
获取指定数据的所有兄弟数据
Parameters:
-
datatwaver.Data指定的数据对象
Returns:
所有兄弟数据的集合
twaver.DataBox.getToolTip
()
String
获取数据容器提示信息的内容,提示信息是在视图上显示的,当鼠标停留在数据容器上一段时间后,提示信息就消失
Returns:
提示信息中显示的内容
twaver.DataBox.handleDataPropertyChange
-
e
处理数据容器中数据的属性更改的函数。TWaver内部使用
Parameters:
-
eObject属性更改的事件对象,包含所有更改的信息
twaver.DataBox.isEmpty
()
String
判断数据容器是否为空。当数据容器中没有数据时返回true,否则返回false
Returns:
当数据容器中没有数据时返回true,否则返回false
twaver.DataBox.moveDown
-
data
将某个数据下移一个序号。一般数据容器和树或表格绑定时使用。 注意:数据是在同层次上移动,也就是在兄弟姐妹中的顺序
Parameters:
-
datatwaver.Data数据对象
twaver.DataBox.moveSelectionDown
-
[sm]
将选中的网元下移一个位置。一般在树和表格中使用 注意:数据是在同层次上移动,也就是在兄弟姐妹中的顺序会改变。
Parameters:
-
[sm]twaver.SelectionModel optional选择容器。如果为空,则使用的是DataBox中的SelectionModel
twaver.DataBox.moveSelectionToBottom
-
[sm]
将选中的网元下移至最底部。一般在树和表格中使用。 注意:数据是在同层次上移动,也就是在兄弟姐妹中的顺序会改变。
Parameters:
-
[sm]twaver.SelectionModel optional选择容器。如果为空,则使用的是DataBox中的SelectionModel
twaver.DataBox.moveSelectionToTop
-
[sm]
将选中的网元上移至最顶部。一般在树和表格中使用。 注意:数据是在同层次上移动,也就是在兄弟姐妹中的顺序会改变
Parameters:
-
[sm]twaver.SelectionModel optional选择容器。如果为空,则使用的是DataBox中的SelectionModel
twaver.DataBox.moveSelectionUp
-
[sm]
将选中的网元上移一个位置。一般在树和表格中使用。 注意:数据是在同层次上移动,也就是在兄弟姐妹中的顺序会改变
Parameters:
-
[sm]twaver.SelectionModel optional选中网元的容器。如果为空,则使用的是DataBox中的SelectionModel
twaver.DataBox.moveTo
-
data -
newIndex
将指定数据移到指定的序号上。一般在绑定的数据容器的树或表格中使用。 注意:数据是在同层次上移动,也就是在兄弟姐妹中的顺序会改变
Parameters:
-
datatwaver.Data数据对象
-
newIndexNumber数据的序号
twaver.DataBox.moveToBottom
-
data
将某个数据移至最下方。一般数据容器和树或表格绑定时使用。 注意:数据是在同层次上移动,也就是在兄弟姐妹中的顺序会改变
Parameters:
-
datatwaver.Data数据对象
twaver.DataBox.moveToTop
-
data
将某个数据移至最上方。一般数据容器和树或表格绑定时使用。 注意:数据是在同层次上移动,也就是在兄弟姐妹中的顺序会改变
Parameters:
-
datatwaver.Data数据对象
twaver.DataBox.moveUp
-
data
将某个数据上移一个序号。一般数据容器和树或表格绑定时使用。 注意:数据是在同层次上移动,也就是在兄弟姐妹中的顺序会改变
Parameters:
-
datatwaver.Data数据对象
twaver.DataBox.newInstance
()
twaver.DataBox
通过类名来实例化数据容器的对象。传入的参数是不固定的,可以是1-7个参数
Returns:
数据容器对象
twaver.DataBox.onClientChanged
-
clientProp -
oldValue -
newValue
当数据容器的Client属性发生变化时,回调此方法。默认的方法没有任何实现体,子类可以重写这个方法去处理自己的业务
Parameters:
-
clientPropString更改的Client属性名称
-
oldValueStringClient属性的原值
-
newValueStringClient属性的新值
twaver.DataBox.onDataPropertyChanged
-
data -
e
当数据容器中数据的属性发生变化时,回调此方法。默认的方法没有任何实现体,子类可以重写这个方法去处理自己的业务
Parameters:
-
datatwaver.Data更改属性的数据对象
-
eObject属性更改的事件对象,包含所有更改的信息
twaver.DataBox.removeById
-
id
通过数据的ID编号从数据容器中删除该数据
Parameters:
-
idObject数据对象的编号
twaver.DataBox.removeDataBoxChangeListener
-
listener -
[scope]
移除数据容器的数据增减变化的监听器
Parameters:
-
listenerFunction网元更改事件监听器
-
[scope]Object optional监听器的作用域,为空时指的是window
twaver.DataBox.removeDataPropertyChangeListener
-
listener -
[scope]
移除数据容器中数据的属性更改事件的监听器
Parameters:
-
listenerFunction网元属性更改事件的监听器
-
[scope]Object optional监听器的作用域,为空时指的是window
twaver.DataBox.removeFirst
-
count
从数据容器中删除第一个数据
Parameters:
-
countNumber数据容器的大小
twaver.DataBox.removeHierarchyChangeListener
-
listener -
[scope]
移除数据的层次变化的监听器
Parameters:
-
listenerFunction数据的层次变化的监听器
-
[scope]Object optional监听器的作用域,为空时指的是window
twaver.DataBox.removeSelection
()
删除所有选中的数据
twaver.DataBox.serializeClientJson
-
serializer -
clientPrope -
newInstance -
dataObject
序列化数据容器的Client属性到JSON数据
Parameters:
-
serializertwaver.JsonSerializerJSON序列化对象
-
clientPropeStringClient属性名
-
newInstancetwaver.DataBox序列化的实例对象
-
dataObjectObjectJSON数据对象
twaver.DataBox.serializeClientXml
-
serializer -
clientPrope -
newInstance
序列化数据容器的Client属性到XML数据
Parameters:
-
serializertwaver.XmlSerializerXML序列化对象
-
clientPropeStringClient属性名
-
newInstancetwaver.DataBox序列化的实例对象
twaver.DataBox.serializeJson
-
serializer -
newInstance -
dataObject
序列化数据容器到JSON数据,包含数据容器的Client数据,Property属性
Parameters:
-
serializertwaver.JsonSerializerJSON序列化对象
-
newInstancetwaver.DataBox序列化的实例对象
-
dataObjectObjectJSON数据对象
twaver.DataBox.serializePropertyJson
-
serializer -
property -
newInstance -
dataObject
序列化数据容器的自身(property)属性到JSON数据
Parameters:
-
serializertwaver.JsonSerializerJSON序列化对象
-
propertyString数据容器的属性名称
-
newInstancetwaver.DataBox数据容器实例对象
-
dataObjectObjectJSON数据对象
twaver.DataBox.serializePropertyXml
-
serializer -
property -
newInstance
序列化数据容器的自身(property)属性到XML数据
Parameters:
-
serializertwaver.XmlSerializerXML序列化对象
-
propertyString数据容器的属性名称
-
newInstancetwaver.DataBox数据容器的实例对象
twaver.DataBox.serializeXml
-
serializer -
newInstance
序列化数据容器到XML数据,包含数据容器的Client数据,Property属性
Parameters:
-
serializertwaver.XmlSerializerXML序列化对象
-
newInstanceObject数据容器的实例对象
twaver.DataBox.setClient
-
clientProp -
newValue
设置指定的client属性对应的属性值。 client属性是用于存放用户自定义的属性
Parameters:
-
clientPropStringClient属性名称
-
newValueStringClient属性的值
Returns:
数据容器对象本身
twaver.DataBox.setIcon
-
v
设置数据容器的图标,图标一般是用在树上显示的
Parameters:
-
vString图标名称
twaver.DataBox.setLimit
-
limit
设置数据容器的上限数。默认为-1,是没有显示的,一旦设置了上限数,当添加的数据数量大于这个上限数时,TWaver就会删除最旧的数据
Parameters:
-
limitNumber数据容器的上限数
twaver.DataBox.setName
-
v
设置数据容器的名称
Parameters:
-
vString数据容器的名称
twaver.DataBox.setToolTip
-
v
设置数据容器的提示信息的内容,提示信息是在视图上显示的,当鼠标停留在数据容器上一段时间后,提示信息就消失
Parameters:
-
vString提示信息中显示的内容
twaver.DataBox.size
()
Number
数据容器的大小,也就是容器中数据的数量
Returns:
数据容器的大小
twaver.DataBox.toDatas
-
matchFunction -
[scope]
将数据容器中的数据转成集合
Parameters:
-
matchFunctionFunction转换成List集合时回调函数
-
[scope]String optional回调函数的作用域,为空时指的是window
Returns:
数据集合
twaver.PropertyChangeDispatcher.addPropertyChangeListener
-
listener -
[scope] -
[ahead]
添加属性变化监听器,用于监听属性变化
Parameters:
-
listenerFunction属性变化监听器
-
[scope]Object optional可选,属性变化监听器的作用域,默认为null,即全局
-
[ahead]Boolean optional可选,是否将此监听放在最前面,默认为false
Example:
var dispatcher = new twaver.PropertyChangeDispatcher(); dispatcher.addPropertyChangeListener(function (e) { console.log(e.property, e.newValue, e.oldValue); });
twaver.PropertyChangeDispatcher.firePropertyChange
-
property -
oldValue -
newValue
派发属性变化事件,属性变化时调用此方法
Parameters:
-
propertyString发生变化的属性
-
oldValueObject和此属性相关的旧值
-
newValueObject和此属性相关的新值
Returns:
如果新值和旧值相等则返回false,否则返回true
twaver.PropertyChangeDispatcher.getClassName
()
String
获取此类的字符串类名
Returns:
返回此类的字符串类名
twaver.PropertyChangeDispatcher.onPropertyChanged
-
e
属性变化时(firePropertyChange)触发的动作,不需要调用此方法,但可以重载此方法执行自定义逻辑
Parameters:
-
eObject属性变化事件,包含property、oldValue和newValue的Object对象
twaver.PropertyChangeDispatcher.removePropertyChangeListener
-
listener -
[scope]
删除指定作用域的属性变化监听器,作用域必须和添加监听器时的作用域一致,相同的作用域的相同监听器只能成功添加一次
Parameters:
-
listenerFunction属性变化监听器
-
[scope]Object optional属性变化监听器的作用域,可选,默认为null,代表全局
Properties
IClient
Boolean
是否是IClient的标识
