Class: Property

ht. Property

new Property()

属性数据,指定PropertyView属性组件要显示的属性

Extends

Methods

a(name, value) → {Object}

获取或设置attr属性,仅有一个参数时相当于getAttr,有两个参数时相当于setAttr

Parameters:
Name Type Argument Description
name String

属性名

value Object <optional>

属性值

Inherited From:
Returns:
Type
Object

addChild(child, index)

添加孩子节点,index为孩子插入索引,为空则插入作为最后的孩子,内部会自动调用child的setParent

Parameters:
Name Type Argument Description
child ht.Data

孩子元素

index Number <optional>

插入索引

Inherited From:

addStyleIcon(name, icon)

增加icon,icon参数请参考beginner guide

Parameters:
Name Type Description
name String

icon名

icon Object

icon参数

Inherited From:
Example
data.addStyleIcon("arrow1", {
   position: 2,
   width: 50,
   height: 25,
   keepOrien: true,
   names: ['arrow']
});

clearChildren()

删除所有孩子节点,内部会自动调用setParent

Inherited From:

dm() → {ht.DataModel}

获取DataModelgetDataModel的缩写

Inherited From:
Returns:

dataModel

Type
ht.DataModel

drawPropertyValue(g, property, value, rowIndex, x, y, w, w, data, view) → {HTMLElement}

绘制属性值,可重载自定义,如果返回值为HTML元素,则使用HTML元素当作Renderer

Parameters:
Name Type Description
g CanvasRenderingContext2D

画笔对象

property ht.Property

属性对象

value Object

rowIndex Number

行索引

x Number

左上角x坐标

y Number

左上角y坐标

w Number

绘制的宽度

w Number

绘制的宽度

data ht.Data

数据元素

view ht.widget.PropertyView

视图组件

Returns:
Type
HTMLElement

eachChild(func, scope)

遍历孩子元素

Parameters:
Name Type Argument Description
func function

遍历函数

scope Object <optional>

函数域

Inherited From:
Example
 data.eachChild(function(child) {
   console.log(child.getId());
});

firePropertyChange(property, oldValue, newValue)

派发属性变化事件

Parameters:
Name Type Description
property String

属性名

oldValue Object

旧值

newValue Object

新值

Inherited From:

formatValue(value) → {Object}

将要显示的值传入此方法格式化处理并返回,一般用于将数字转换更易读的文本格式,可重载自定义

Parameters:
Name Type Description
value Object

格式化之前值

Returns:

格式化之后的值

Type
Object

fp(property, oldValue, newValue)

派发属性变化事件,同firePropertyChange

Parameters:
Name Type Description
property String

属性名

oldValue Object

旧值

newValue Object

新值

Inherited From:

getAccessType() → {String|null}

获取属性类型,值列表如下:

  • null: 默认类型,如name为age,采用getAge()和setAge(98)的get/set或is/set方式存取
  • style: 如name为age,采用getStyle('age')和setStyle('age', 98)的方式存取
  • field:如name为age,采用data.age和data.age = 98的方式存取
  • attr:如name为age,采用getAttr('age')和setAttr('age', 98)的方式存取
Returns:
Type
String | null

getAlign() → {String}

获取文字的水平对齐方式,可用值有left|right|center,默认为left

Returns:
Type
String

getAttr(name) → {Object}

获取attr属性

Parameters:
Name Type Description
name String

属性名

Inherited From:
Returns:
Type
Object

getAttrObject() → {Object}

获取attr属性对象,该属性默认为空,用于存储用户业务信息

Inherited From:
Returns:

attr属性对象

Type
Object

getCategoryName() → {String}

获取属性分类名称

Returns:
Type
String

getChildAt(index) → {ht.Data}

返回指定索引位置的孩子

Parameters:
Name Type Description
index Number

索引

Inherited From:
Returns:

索引对应的孩子

Type
ht.Data

getChildren() → {ht.List}

获取所有孩子节点

Inherited From:
Returns:

孩子元素集合

Type
ht.List

getClass() → {function}

获取类声明(构造函数)

Inherited From:
Returns:

类声明(构造函数)

Type
function

getClassName() → {String}

获取类全名,继承Data并希望序列化时应该重写此方法返回子类的类名字符串

Inherited From:
See:
Returns:

类全名

Type
String

getColor() → {color}

获取属性名文字的颜色

Returns:
Type
color

getColorPicker() → {Object}

获取颜色选择器配置

See:
Returns:
Type
Object

getDataModel() → {ht.DataModel}

获取所属的DataModel

Inherited From:
Returns:

DataModel数据容器

Type
ht.DataModel

getDisplayName() → {String}

获取显示名称,常作为Column和Property的列头和属性名称显示

Inherited From:
Returns:

显示名称

Type
String

getEnumIcons() → {Array}

当属性使用下拉列表作为编辑器时,此方法返回下拉列表的所有枚举icon数组

Returns:
Type
Array

getEnumLabels() → {Array}

当属性使用下拉列表作为编辑器时,此方法返回下拉列表的所有枚举文字数组

Returns:
Type
Array

getEnumMaxHeight() → {Array}

当属性使用下拉列表作为编辑器时,此方法返回下拉列表的最大高度(超出使用滚动条)

Returns:
Type
Array

getEnumValues() → {Array}

当属性使用下拉列表作为编辑器时,此方法返回下拉列表的值数组

Returns:
Type
Array

getIcon() → {String|Object}

获取小图标名称,常作为TreeView和ListView等组件上的节点小图标

Inherited From:
Returns:

图标名或矢量

Type
String | Object

getId() → {Number}

获取唯一编号

Inherited From:
Returns:

唯一编号

Type
Number

getItemEditor() → {function}

获取自定义的单元格编辑器

Returns:
Type
function

getLayer() → {String|Number}

获取数据元素在GraphView组件中的图层位置

Inherited From:
Default Value:
  • 0
Returns:

图层名

Type
String | Number

getName() → {String}

获取数据元素名

Inherited From:
Returns:

名称

Type
String

getParent() → {ht.Data}

获取父元素

Inherited From:
Returns:

父元素

Type
ht.Data

getSerializableAttrs() → {Object}

此函数返回一个map,决定序列化时哪些attr属性可被序列化,默认所有attr对象里的属性都会被序列化

Inherited From:
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属性并且需要序列化,应该重写此方法

Inherited From:
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,决定序列化时哪些样式可被序列化,默认所有样式都会被序列化

Inherited From:
Returns:

需要被序列化的样式map

Type
Object
Example
 function(){            
    var name, map = {};
    for (name in this._styleMap) {            
        map[name] = 1;
    }
    return map; 
}

getSlider() → {Object}

获取拉条配置

See:
Returns:
Type
Object

getStyle(name) → {Object}

获取样式属性

Parameters:
Name Type Description
name String

样式名

Inherited From:
Returns:
Type
Object

getStyleMap() → {Object}

获取图元内部样式映射信息

Inherited From:
Returns:

样式映射表

Type
Object

getSuperClass() → {function}

获取父类声明(构造函数),继承类时可以用来调用父类构造或函数

Inherited From:
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快速查找

Inherited From:
Returns:

标示号

Type
String

getToolTip(data, isValue, propertyView) → {String}

获取toolTip文字

Parameters:
Name Type Description
data ht.Data

数据元素

isValue Boolean

是否是属性值

propertyView ht.widget.PropertyView

视图对象

Returns:
Type
String

getUIClass() → {function}

获取拓扑组件上的UI类

Inherited From:
Returns:

UI类声明(构造函数)

Type
function

getValueType() → {String}

获取值类型,值类型用于提示组件提供合适的renderer渲染,合适的编辑控件,及改变值时必要的类型转换

  • null:默认类型,显示为文本方式
  • string:字符串类型,显示为文本方式
  • boolean:布尔类型,显示为勾选框
  • color:颜色类型,以填充背景色的方式显示
  • int:整型类型,文本编辑器改变值时自动通过parseInt进行转换
  • number:浮点数类型,文本编辑器改变值时自动通过parseFloat转换
Returns:
Type
String

hasChildren() → {Boolean}

判断是否有孩子

Inherited From:
Returns:

是否有孩子

Type
Boolean

invalidate()

强制触发属性变化事件通知界面更新

Inherited From:

isAdjustChildrenToTop() → {Boolean}

GraphView点击图元会自动sendToTop,该属性决定是否对子图元也进行sendToTop操作

Inherited From:
Returns:

是否将children自动sendToTop

Type
Boolean

isBatchEditable() → {Boolean}

判断是否允许多选时批量编辑,默认为true

Returns:
Type
Boolean

isDescendantOf(data) → {Boolean}

判断自身是否为指定data的子孙

Parameters:
Name Type Description
data ht.Data

要对比的数据元素

Inherited From:
Returns:

自身是否为指定data的子孙

Type
Boolean

isEditable() → {Boolean}

判断属性是否可编辑

Returns:
Type
Boolean

isEmptiable() → {Boolean}

判断属性是否可为空字符串,可避免输入空字符串,空字符串转换成undefined。默认为false

Returns:
Type
Boolean

isEmpty() → {Boolean}

判断是否有孩子,同hasChildren

Inherited From:
Returns:

是否有孩子

Type
Boolean

isEnumEditable() → {Boolean}

枚举下拉编辑器是否允许可输入,默认为false

Returns:
Type
Boolean

isEnumStrict() → {Boolean}

判断值匹配时是否采用严格的===进行比较,默认为true,若为false则采用==进行比较

Returns:
Type
Boolean

isNullable() → {Boolean}

判断属性是否可为空,默认为true,设置为false可避免输入null或undefined

Returns:
Type
Boolean

isParentOf(data) → {Boolean}

判断自身是否为指定data的父亲

Parameters:
Name Type Description
data ht.Data

要对比的数据元素

Inherited From:
Returns:

自身是否为指定data的父亲

Type
Boolean

isRelatedTo(data) → {Boolean}

判断自身与指定data是否有父子或子孙关系

Parameters:
Name Type Description
data ht.Data

要对比的数据元素

Inherited From:
Returns:

自身与指定data是否有父子或子孙关系

Type
Boolean

iv()

强制触发属性变化事件通知界面更新,invalidate的缩写

Inherited From:

onChildAdded(child, index)

添加孩子时的回调函数,可重载做后续处理

Parameters:
Name Type Description
child ht.Data

新增加的孩子元素

index Number

索引

Inherited From:

onChildRemoved(child, index)

删除孩子时的回调函数,可重载做后续处理

Parameters:
Name Type Description
child ht.Data

被删除的孩子元素

index Number

索引

Inherited From:

onParentChanged(oldParent, parent)

改变父亲元素时的回调函数,可重载做后续处理

Parameters:
Name Type Description
oldParent ht.Data

旧的父元素

parent ht.Data

新的父元素

Inherited From:

onPropertyChanged(event)

属性变化回调函数,可重载做后续处理

Parameters:
Name Type Description
event Object

属性变化事件

Inherited From:
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

新的样式值

Inherited From:

removeChild(child)

删除指定孩子元素,内部会自动调用孩子元素的setParent

Parameters:
Name Type Description
child ht.Data

要删除的孩子元素

Inherited From:

removeStyleIcon(name)

删除icon

Parameters:
Name Type Description
name String

要删除的icon名

Inherited From:

s(name, value) → {Object}

获取或设置样式,仅有一个参数时相当于getStyle,有两个参数时相当于setStyle

Parameters:
Name Type Argument Description
name String

样式名

value Object <optional>

样式值

Inherited From:
Returns:
Type
Object

setAccessType(accessType)

设置属性类型,可选值如下:

  • null: 默认类型,如name为age,采用getAge()和setAge(98)的get/set或is/set方式存取
  • style: 如name为age,采用getStyle('age')和setStyle('age', 98)的方式存取
  • field:如name为age,采用data.age和data.age = 98的方式存取
  • attr:如name为age,采用getAttr('age')和setAttr('age', 98)的方式存取
Parameters:
Name Type Description
accessType String | null

setAdjustChildrenToTop(adjustToTop)

GraphView点击图元会自动sendToTop,该属性决定是否对子图元也进行sendToTop操作

Parameters:
Name Type Description
adjustToTop Boolean

是否将children自动sendToTop

Inherited From:

setAlign(align)

设置文字的水平对齐方式,可用值有left|right|center,默认为left

Parameters:
Name Type Description
align String

对齐方式

setAttr(name, value)

设置attr属性

Parameters:
Name Type Description
name String

属性名

value Object

属性值

Inherited From:

setAttrObject(attrObject)

设置attr属性对象,该属性默认为空,用于存储用户业务信息

Parameters:
Name Type Description
attrObject Object

attr属性对象

Inherited From:

setBatchEditable(v)

设置是否允许多选时批量编辑,默认为true

Parameters:
Name Type Description
v Boolean

setCategoryName(name)

设置属性分类名称

Parameters:
Name Type Description
name String

setColor(color)

设置属性名文字的颜色

Parameters:
Name Type Description
color color

setColorPicker(v)

设置颜色选择器配置,需要引入form插件,设置后将使用颜色选择器作为属性编辑器

Parameters:
Name Type Description
v Object

颜色选择器配置,如{background: 'red'}可以指定颜色选择器背景为红色,如果要使用默认配置,使用空对象{}即可

setDisplayName(displayName)

设置显示名称,常作为Column和Property的列头和属性名称显示

Parameters:
Name Type Description
displayName String

显示名称

Inherited From:

setEditable(editable)

设置属性是否可编辑

Parameters:
Name Type Description
editable Boolean

setEmptiable(emptiable)

设置属性是否可为空字符串,可避免输入空字符串,空字符串转换成undefined。默认为false

Parameters:
Name Type Description
emptiable Boolean

setEnum(v)

设置枚举列表,自动采用下拉列表作为属性编辑器

Parameters:
Name Type Description
v Object | Array
Example
 //示例,参数依次表示:值,文字、icon
property.setEnum([1,2,3], ['C','C++','JS'], ['c_icon', 'c++_icon', 'js_icon']);
//也可以使用对象的方式:
property.setEnum({values:[1,2,3], labels:['C','C++','JS'], icons:['c_icon', 'c++_icon', 'js_icon']});

setIcon(icon)

设置小图标名称,常作为TreeView和ListView等组件上的节点小图标

Parameters:
Name Type Description
icon String | Object

图标名或矢量

Inherited From:

setId(id)

设置唯一编号,如果手工设置,一定要确保在data加入到DataModel之前设置并且唯一不重复

Parameters:
Name Type Description
id String | Number

唯一编号

Inherited From:

setItemEditor(editor)

设置自定义的属性编辑器

Parameters:
Name Type Description
editor function

setLayer(layer)

设置数据元素在GraphView组件中的图层位置

Parameters:
Name Type Description
layer String | Number

图层名

Inherited From:

setName(name)

设置数据元素名称

Parameters:
Name Type Description
name String

数据元素名称

Inherited From:

setNullable(nullable)

设置属性是否可为空,默认为true,设置为false可避免输入null或undefined

Parameters:
Name Type Description
nullable Boolean

setParent(parent)

设置父元素

Parameters:
Name Type Description
parent ht.Data

父元素

Inherited From:

setSlider(v)

设置拉条配置,需要引入form插件,设置后将使用拉条作为属性编辑器

Parameters:
Name Type Description
v Object

拉条配置,如{background: 'red'}可以指定拉条背景为红色,如果要使用默认配置,使用空对象{}即可

setStyle(name, value)

设置样式

Parameters:
Name Type Description
name String

样式名

value Object

样式值

Inherited From:

setTag(tag)

设置标示号,可通过getDataByTag快速查找

Parameters:
Name Type Description
tag String

标示号

Inherited From:

setToolTip(toolTip)

设置文字提示信息

Parameters:
Name Type Description
toolTip String

文字提示

Inherited From:

setValueType(type)

设置值类型,值类型用于提示组件提供合适的renderer渲染,合适的编辑控件,及改变值时必要的类型转换

  • null:默认类型,显示为文本方式
  • string:字符串类型,显示为文本方式
  • boolean:布尔类型,显示为勾选框
  • color:颜色类型,以填充背景色的方式显示
  • int:整型类型,文本编辑器改变值时自动通过parseInt进行转换
  • number:浮点数类型,文本编辑器改变值时自动通过parseFloat转换
Parameters:
Name Type Description
type String | null

size() → {Number}

获取孩子元素总数

Inherited From:
Returns:

孩子元素总数

Type
Number

toChildren(matchFunc, scope) → {ht.List}

以matchFunc为过滤函数构建新的孩子元素集合

Parameters:
Name Type Argument Description
matchFunc function <optional>

过滤函数

scope Object <optional>

函数域

Inherited From:
Returns:

孩子元素集合

Type
ht.List
Example
 var list = data.toChildren(function(child) {
   if (child.a('visible')) {
   	return true;
   }
});

toEnumIcon(value) → {String}

根据value查找对应的枚举icon

Parameters:
Name Type Description
value Object

枚举值

Returns:
Type
String

toEnumLabel(value) → {String}

根据value查找对应的枚举label文字

Parameters:
Name Type Description
value Object

枚举值

Returns:
Type
String

toLabel() → {String}

返回值作为TreeView和GraphView等组件上的图元文字标签,默认返回displayName||name信息

Inherited From:
Returns:

文字标签

Type
String

toString() → {String}

重写js默认的toString

Inherited From:
Returns:
Type
String
欢迎交流 service@hightopo.com