twaver.Property Class
属性项对象
属性项是一种基本元素,它是存在于属性容器中的(PropertyBox)。属性列是用来显示在属性页中的基本元素
Constructor
twaver.Property
-
id
Parameters:
-
idObjectID为属性的唯一标识。如果为null,TWaver内部会按照一定的规则赋值。ID可以为string,number类型,也可以为Object类型。为string或number类型时指的是属性的ID,如果为Object类型,可以传入一个属性的对象,比如: var property = new twaver.Property({ name:'Name', horizontalAlign:'left', width:100});
Returns:
Item Index
Methods
- twaver.Data.addChild
- twaver.Data.clearChildren
- twaver.Data.deserializeClientJson
- twaver.Data.deserializeClientXml
- twaver.Data.deserializeJson
- twaver.Data.deserializePropertyJson
- twaver.Data.deserializePropertyXml
- twaver.Data.deserializeXml
- twaver.Data.getChildAt
- twaver.Data.getChildren
- twaver.Data.getChildrenSize
- twaver.Data.getClient
- twaver.Data.getClientMap
- twaver.Data.getClientProperties
- twaver.Data.getIcon
- twaver.Data.getId
- twaver.Data.getName
- twaver.Data.getName2
- twaver.Data.getParent
- twaver.Data.getToolTip
- twaver.Data.hasChildren
- twaver.Data.isDescendantOf
- twaver.Data.isParentOf
- twaver.Data.isRelatedTo
- twaver.Data.newInstance
- twaver.Data.onChildAdded
- twaver.Data.onChildRemoved
- twaver.Data.onChildrenCleared
- twaver.Data.onClientChanged
- twaver.Data.onParentChanged
- twaver.Data.removeChild
- twaver.Data.serializeClientJson
- twaver.Data.serializeClientXml
- twaver.Data.serializeJson
- twaver.Data.serializePropertyJson
- twaver.Data.serializePropertyXml
- twaver.Data.serializeXml
- twaver.Data.setClient
- twaver.Data.setIcon
- twaver.Data.setName
- twaver.Data.setName2
- twaver.Data.setParent
- twaver.Data.setToolTip
- twaver.Data.toChildren
- twaver.Property.getCategoryName
- twaver.Property.getEnumInfo
- twaver.Property.getHorizontalAlign
- twaver.Property.getPropertyName
- twaver.Property.getPropertyType
- twaver.Property.getValue
- twaver.Property.getValueType
- twaver.Property.isEditable
- twaver.Property.isInnerText
- twaver.Property.setCategoryName
- twaver.Property.setEditable
- twaver.Property.setEnumInfo
- twaver.Property.setHorizontalAlign
- twaver.Property.setInnerText
- twaver.Property.setPropertyName
- twaver.Property.setPropertyType
- twaver.Property.setValue
- twaver.Property.setValueType
- twaver.PropertyChangeDispatcher.addPropertyChangeListener
- twaver.PropertyChangeDispatcher.firePropertyChange
- twaver.PropertyChangeDispatcher.getClassName
- twaver.PropertyChangeDispatcher.onPropertyChanged
- twaver.PropertyChangeDispatcher.removePropertyChangeListener
Properties
Methods
twaver.Data.addChild
-
child -
[index]
在父亲数据下添加孩子数据,index为添加的孩子数据的顺序号,树中同层下的孩子顺序可以通过这个参数来控制。默认为空,添加在最后一个位置
Parameters:
-
childtwaver.Data添加的孩子数据
-
[index]Number optional添加的孩子数据的顺序,树中的同层下的孩子顺序是通过这个参数来控制的。默认为空,也就是添加在最后一个位置
Returns:
添加成功返回true,否则为false
twaver.Data.clearChildren
()
Boolean
清除这个数据下所有的孩子。注意,这个方法只是切断它们之间的父子关系,并不会从DataBox中将孩子数据删除
Returns:
true为操作成功,false为操作失败
twaver.Data.deserializeClientJson
-
serializer -
json -
clientProp
反序列化JSON数据到数据对象的自定义属性
Parameters:
-
serializertwaver.JsonSerializerJSON序列化对象
-
jsonStringJSON数据
-
clientPropString自定义的属性名
twaver.Data.deserializeClientXml
-
serializer -
clientXml -
clientProp
反序列化XML数据到数据对象的自定义属性值
Parameters:
-
serializertwaver.XmlSerializerXML的序列化对象
-
clientXmlStringXML数据片段
-
clientPropString自定义属性名
twaver.Data.deserializeJson
-
serializer -
json
将JSON数据反序列化为数据对象
Parameters:
-
serializertwaver.JsonSerializerJSON序列化对象
-
jsonStringJSON数据
twaver.Data.deserializePropertyJson
-
serializer -
json -
property
反序列化JSON数据到数据对象的自身属性
Parameters:
-
serializertwaver.JsonSerializerJSON序列化对象
-
jsonStringJSON数据片段
-
propertyString数据自身属性名
twaver.Data.deserializePropertyXml
-
serializer -
propertyXml -
property
反序列化XML数据到数据对象的自身属性
Parameters:
-
serializertwaver.XmlSerializerXML序列化对象
-
propertyXmlStringXML数据片段
-
propertyString数据自身属性名
twaver.Data.deserializeXml
-
serializer -
xml
将XML数据反序列化为数据对象
Parameters:
-
serializertwaver.XmlSerializerXML序列化对象
-
xmlStringXML数据
twaver.Data.getChildAt
-
index
获取某个序号值上的孩子对象
Parameters:
-
indexNumber数据的顺序值
Returns:
孩子数据对象
twaver.Data.getChildrenSize
()
Number
获取数据对象下孩子的数量
Returns:
孩子数据的数量
twaver.Data.getClient
-
clientProp
获取自定义的属性,Client属性一般用于存放用户自定在数据对象上的属性
Parameters:
-
clientPropString自定义的属性名
Returns:
返回属性值
twaver.Data.getClientProperties
()
twaver.List
获取所有自定义的属性名。Client属性一般用于存放用户自定在数据对象上的属性
Returns:
自定义属性的集合
twaver.Data.getIcon
()
String
得到这个数据的图标,图标是用于在树上显示的。
Returns:
返回图标的名称
twaver.Data.getId
()
Object
得到数据的ID,ID是用于唯一标识数据对象的,在同一个数据容器中的数据ID不能重复
Returns:
数据的ID编号
twaver.Data.getName
()
String
获取数据对象的名称
Returns:
数据对象的名称值
twaver.Data.getName2
()
String
获取数据对象的名称2
Returns:
返回数据对象的名称2
twaver.Data.getToolTip
()
String
获取数据对象的悬浮标签,悬浮标签是用于在视图上显示的,比如network,tree,table。悬浮标签在视图上显示片刻便会消失。
Returns:
数据对象的悬浮标签内容
twaver.Data.hasChildren
()
Boolean
判断这个数据对象下是否有孩子对象
Returns:
true为有孩子对象,否则为false
twaver.Data.isDescendantOf
-
data
判断是否是指定数据对象的子孙节点
Parameters:
-
datatwaver.Data指定的数据对象
Returns:
true为子孙节点,否则为false
twaver.Data.isParentOf
-
data
判断是否是指定数据对象的父亲
Parameters:
-
datatwaver.Data指定的数据对象
Returns:
true为指定数据对象的父亲,否则为false
twaver.Data.isRelatedTo
-
data
判断是否和指定数据对象有关联关系,如果这个数据是指定数据对象的子孙或者指定数据对象是这个数据的子孙都称为有关联关系
Parameters:
-
datatwaver.Data指定的数据对象
Returns:
true为有关联关系,否则为false
twaver.Data.onChildAdded
-
child -
index
添加完孩子成功后会回调这个方法
Parameters:
-
childtwaver.Data添加的孩子对象
-
indexNumber孩子添加的顺序
twaver.Data.onChildRemoved
-
child -
index
删除指定孩子对象时会回调这个方法
Parameters:
-
childtwaver.Data删除的孩子对象
-
indexNumber删除的孩子对象的顺序序号
twaver.Data.onChildrenCleared
-
children
清除所有指定孩子对象时会回调这个方法
Parameters:
-
childrentwaver.List清除的孩子对象集合
twaver.Data.onClientChanged
-
clientProp -
oldValue -
newValue
当数据对象的Client属性发生更改时会回调此方法
Parameters:
-
clientPropString属性名
-
oldValueString原值
-
newValueString新值
twaver.Data.onParentChanged
-
oldParent -
parent
当数据对象的父亲发生更改时回调此方法
Parameters:
-
oldParenttwaver.Data数据对象原来的父亲节点
-
parentString数据对象新的父亲节点
twaver.Data.removeChild
-
child
删除指定的孩子对象
Parameters:
-
childtwaver.Data指定的孩子对象
Returns:
返回true表示删除成功,false为删除失败
twaver.Data.serializeClientJson
-
serializer -
clientPrope -
newInstance -
dataObject
序列化数据元素的自定义属性到JSON片段
Parameters:
-
serializertwaver.JsonSerializerJSON序列化对象
-
clientPropeString数据对象的自定义属性名
-
newInstancetwaver.Data序列化的数据对象
-
dataObjectObjectJSON数据对象
twaver.Data.serializeClientXml
-
serializer -
clientPrope -
newInstance
序列化数据元素的自定义属性到XML片段
Parameters:
-
serializertwaver.XmlSerializerXML序列化对象
-
clientPropeString自定义的属性名称
-
newInstancetwaver.Data序列化的实例对象
twaver.Data.serializeJson
-
serializer -
newInstance -
dataObject
将数据元素序列化成JSON片段
Parameters:
-
serializertwaver.JsonSerializerJSON序列化对象
-
newInstancetwaver.Data序列化的实例对象
-
dataObjectObjectJSON数据对象
twaver.Data.serializePropertyJson
-
serializer -
property -
newInstance -
dataObject
序列化数据元素属性到JSON片段
Parameters:
-
serializertwaver.JsonSerializerJSON序列化对象
-
propertyString序列化的属性名称
-
newInstancetwaver.Data序列化的实例对象
-
dataObjectObjectJSON数据对象
twaver.Data.serializePropertyXml
-
serializer -
property -
newInstance
序列化数据元素属性到XML片段
Parameters:
-
serializertwaver.XmlSerializerXML序列化对象
-
propertyString数据元素的属性名称
-
newInstancetwaver.Data序列化的实例对象
twaver.Data.serializeXml
-
serializer -
newInstance
将数据元素序列化成XML片段
Parameters:
-
serializertwaver.XmlSerializerXML序列化对象
-
newInstancetwaver.Data序列化的实例对象
twaver.Data.setClient
-
clientProp -
newValue
设置自定义的属性的值
Parameters:
-
clientPropString自定义属性的名称
-
newValueObject自定义属性的值
Returns:
数据对象本身
twaver.Data.setIcon
-
v
设置数据元素的Icon。Icon和Image是类似的,但需要注意,Icon一般是在树上显示的,而Image是在network上显示的。
Parameters:
-
vString数据元素的Icon名称
twaver.Data.setName
-
v
设置数据元素的名称
Parameters:
-
vString数据元素的名称
twaver.Data.setName2
-
v
设置数据对象的名称2
Parameters:
-
vString数据对象的名称2
twaver.Data.setToolTip
-
v
设置悬浮标签的显示内容。当鼠标移至数据元素时,视图上就会显示这个悬浮标签一段时间。
Parameters:
-
vString悬浮标签显示的内容
twaver.Data.toChildren
-
matchFunction -
scope
根据指定的函数,将数据元素的孩子转换成List集合
Parameters:
-
matchFunctionFunction指定的函数
-
scopeString函数的作用域,为空时指的是window
Returns:
孩子数据的集合
twaver.Property.getCategoryName
()
String
获取属性项所属的Category的名称
Returns:
Category的名称
twaver.Property.getEnumInfo
()
Object
获取编辑属性项时显示的内容。如果属性项中设置了多个值,编辑时会以combobox的样式来呈现。 例如:{map:{1:'male', 2:'female'}, values:[1, 2]} 或 ['male', 'female']。
Returns:
编辑属性项时显示的内容
twaver.Property.getHorizontalAlign
()
String
获取属性项的水平对齐方式。可选值:
left:左对齐。
right:右对齐。
center:中间对齐。
justify: 填充对齐,使得一行上每个文字的间隔相同。
inherit:继承于父亲的对齐方式。
更多的可以参考CSS中的text-align样式
Returns:
水平对齐方式
twaver.Property.getPropertyName
()
String
获取属性表的属性项所对应的网元属性名
Returns:
属性表的属性项所对应网元的属性名
twaver.Property.getPropertyType
()
String
获取网元属性的类型。可选值有 'field':网元的自身变量属性, 'accessor', 网元get/set方法的属性, 'style':网元样式属性, 'client':网元自定义属性
Returns:
网元属性类型
twaver.Property.getValue
-
data -
view
从Data中获取对应的属性项的值,TWaver内部使用
Parameters:
-
datatwaver.Data属性页绑定的数据对象
-
viewtwaver.controls.PropertySheet绑定的属性页
Returns:
返回属性项的值
twaver.Property.getValueType
()
String
获取属性项中值的类型。可选值有: 'string':字符串类型, 'boolean':布尔类型, 'color':颜色类型, 'int':整型, 'number':数字类型
Returns:
属性项中值的类型
twaver.Property.isEditable
()
Boolean
判断属性表的属性项是否可编辑
Returns:
true为可编辑,false不可编辑
twaver.Property.isInnerText
()
Boolean
获取属性页列内容是否为纯文本
Returns:
返回属性页列内容是否为纯文本
twaver.Property.setCategoryName
-
v
设置属性项所属的Category的名称
Parameters:
-
vStringCategory的名称
twaver.Property.setEditable
-
v
设置属性表的属性项是否可编辑
Parameters:
-
vBooleantrue为可编辑,false不可编辑
twaver.Property.setEnumInfo
-
v
设置编辑属性项时显示的内容。如果属性项中设置了多个值,编辑时会以combobox的样式来呈现。 例如:{map:{1:'male', 2:'female'}, values:[1, 2]} 或 ['male', 'female']
Parameters:
-
vObject编辑属性项时显示的内容
twaver.Property.setHorizontalAlign
-
v
设置属性项的水平对齐方式。可选值:
left:左对齐。
right:右对齐。
center:中间对齐。
justify: 填充对齐,使得一行上每个文字的间隔相同。
inherit:继承于父亲的对齐方式。
更多的可以参考CSS中的text-align样式
Parameters:
-
vString水平对齐方式
twaver.Property.setInnerText
-
v
设置属性页列内容是否为纯文本
Parameters:
-
vBoolean属性页列内容是否为纯文本
twaver.Property.setPropertyName
-
value
设置属性表的属性项所对应的网元属性名
Parameters:
-
valueString属性表的属性项所对应网元的属性名
twaver.Property.setPropertyType
-
value
设置网元属性的类型。可选值有 'field':网元的自身变量属性, 'accessor', 网元get/set方法的属性, 'style':网元样式属性, 'client':网元自定义属性
Parameters:
-
valueString网元属性的类型
twaver.Property.setValue
-
data -
value -
view
设置属性页上的值回写到data中,TWaver内部使用
Parameters:
-
datatwaver.Data属性页绑定的数据对象
-
valueObject属性项的值
-
viewtwaver.controls.PropertySheet属性页
Returns:
twaver.Property.setValueType
-
v
得到属性项中值的类型。可选值有: 'string':字符串类型, 'boolean':布尔类型, 'color':颜色类型, 'int':整型, 'number':数字类型
Parameters:
-
vString属性项中值的类型
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标志,默认为true,表明这个对象是IClient类型。
IData
Boolean
IData属性标志,默认为true,表明这个对象是IData的类型
IProperty
Boolean
是否是属性项的标志
isVisible
Boolean
true表示属性项显示,false不显示
renderEditor
Object
这个属性项所对应的render的Editor
renderName
String
这个属性项所对应的render的名称
renderValue
Object
这个属性项所对应的render的值
