ht.widget.PropertyView(dataModel)

new PropertyView(dataModel)

属性组件,用于显示Data类型对象属性,以分组、排序等方式展示属性

Parameters:
Name Type Description
dataModel ht.DataModel

绑定的数据模型

Methods

addBottomPainter(painter)

增加底层Painter

组件上提供Painter接口,开发者可以使用Canvas的画笔对象自由绘制任意形状,底层Painter绘制在组件最下面

Parameters:
Name Type Description
painter function

Painter类

Example
//Painter示例:
graphView.addBottomPainter(function(g){
    g.fillStyle = '#000000';
    g.fillRect(0, 0, 100, 100);
});

addProperties(properties)

以json的方式配置属性(新增)

Parameters:
Name Type Description
properties Array

json属性

Example
//示例:
propertyView.addProperties([{
	name: 'id',
	displayName: '序号'
},
{
	name: 'background',
	accessType: 'style'
}
]);

addPropertyChangeListener(listener, scope, ahead)

增加自身属性变化事件监听器

Parameters:
Name Type Attributes Description
listener function

监听器函数

scope Object <optional>

监听器函数域

ahead Boolean <optional>

是否将当前监听器插入到监听器列表开头

See:

addToDOM(parentNode)

将组件加入到指定的DOM元素底下,不指定则加入到 document.body 下

Parameters:
Name Type Description
parentNode DOM

DOM元素,默认为 document.body

addTopPainter(painter)

增加顶层Painter

组件上提供Painter接口,开发者可以使用Canvas的画笔对象自由绘制任意形状,顶层Painter绘制在组件最上面

Parameters:
Name Type Description
painter function

Painter类

Example
//Painter示例:
graphView.addTopPainter(function(g){
    g.fillStyle = '#000000';
    g.fillRect(0, 0, 100, 100);
});

addViewListener(listener, scope, ahead)

监听视图事件,如布局、刷新等

Parameters:
Name Type Attributes Description
listener function

监听器函数

scope Object <optional>

监听器函数域

ahead Boolean <optional>

是否将当前监听器插入到监听器列表开头

adjustTranslateY(value) → {Number}

传入即将设置的垂直平移值,返回最终设置值,可重载限制垂直平移范围

Parameters:
Name Type Description
value Number

原始垂直平移值

Returns:
Number -

新的垂直平移值

collapse(categoryName)

合并分组

Parameters:
Name Type Description
categoryName String

分组名

collapseAll()

合并所有分组

disableToolTip()

关闭ToolTip功能

dm(dataModel) → {ht.DataModel}

获取或设置数据模型,没有参数时相当于getDataModel,有参数时相当于setDataModel

Parameters:
Name Type Attributes Description
dataModel ht.DataModel <optional>

数据模型

Returns:
ht.DataModel -

dataModel

drawCategoryName(g, name, rowIndex, x, y, w, h)

绘制分组名,可重载自定义

Parameters:
Name Type Description
g CanvasRenderingContext2D

画笔对象

name String

分组名

rowIndex Number

行索引

x Number

左上角x坐标

y Number

左上角y坐标

w Number

绘制的宽度

h Number

绘制的高度

drawPropertyName(g, property, rowIndex, x, y, w, h)

绘制分组名,可重载自定义

Parameters:
Name Type Description
g CanvasRenderingContext2D

画笔对象

property ht.Property

属性对象

rowIndex Number

行索引

x Number

左上角x坐标

y Number

左上角y坐标

w Number

绘制的宽度

h Number

绘制的高度

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

绘制属性值,可重载自定义,如果返回值为HTML元素,则使用HTML元素当作Renderer,一般重载Property的drawPropertyValue,无需重载此方法

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

数据元素

Returns:
HTMLElement

enableToolTip()

启用ToolTip

expand(categoryName)

展开分组

Parameters:
Name Type Description
categoryName String

分组名

expandAll()

展开所有分组

getBackground() → {color}

获取边框和分组行的背景颜色

Returns:
color

getCategoryColor(categoryName) → {color}

返回分组文本颜色,可重载自定义

Parameters:
Name Type Description
categoryName String

分组名

Returns:
color

getCategoryFont(categoryName) → {String}

返回分组文本字体,可重载自定义

Parameters:
Name Type Description
categoryName String

分组名

Returns:
String

getCollapseIcon() → {String}

获取分组合并图标

Returns:
String

getColumnLineColor() → {color}

获取列线颜色

Returns:
color

getColumnPosition() → {Number}

获取列线位置比例,默认值0.5,允许范围为0~1

Returns:
Number

getCurrentData() → {ht.Data}

获取当前显示对象

Returns:
ht.Data

getDataModel() → {ht.DataModel}

获取绑定的数据模型

Returns:
ht.DataModel -

数据模型

getExpandIcon() → {String}

获取分组展开图标

Returns:
String

getHeight() → {Number}

获取布局高度

Returns:
Number

getIndent() → {Number}

获取左侧缩进,左侧空间用于绘制分组toggle图标,以及属性提示icon图标

Returns:
Number

getLabelColor(property, value, rowIndex) → {color}

返回属性值文本颜色,可重载自定义

Parameters:
Name Type Description
property ht.Property

属性对象

value Object

rowIndex Number

行索引

Returns:
color

getLabelFont(property, value, rowIndex) → {String}

返回属性值文本字体,可重载自定义

Parameters:
Name Type Description
property ht.Property

属性对象

value Object

rowIndex Number

行索引

Returns:
String

getLableSelectColor() → {color}

获取文本选中颜色

Returns:
color

getLogicalPoint(event) → {Object}

传入HTML事件对象,将事件坐标转换为组件中的逻辑坐标

Parameters:
Name Type Description
event Event

事件对象

Returns:
Object
See:

getPropertyAt(event) → {ht.Property}

返回event事件所在的行的属性信息

Parameters:
Name Type Description
event Event

事件对象

Returns:
ht.Property

getPropertyColor(property, rowIndex) → {color}

返回属性名文本颜色,可重载自定义

Parameters:
Name Type Description
property ht.Property

属性对象

rowIndex Number

行索引

Returns:
color

getPropertyFont(property, rowIndex) → {color}

返回属性名文本字体,可重载自定义

Parameters:
Name Type Description
property ht.Property

属性对象

rowIndex Number

行索引

Returns:
color

getPropertyModel() → {ht.DataModel}

获取propertyModel属性,可增删Property属性对象

Returns:
ht.DataModel

getPropertyName() → {String}

返回显示在左列的属性名,可重载自定义

Returns:
String

getRawProperties() → {ht.List}

返回要显示的原始未过滤排序的属性集合,默认返回propertyModel.getRoots(),可重载自定义

Returns:
ht.List

getRowHeight() → {Number}

获取行高

Returns:
Number

getRowIndexAt(event) → {Number}

获取event事件所在的行索引

Parameters:
Name Type Description
event Event

事件对象

Returns:
Number

getRows() → {ht.List}

返回当前显示的所有行信息的集合,集合元素为string类型代表分组名,{data:d,property:p}结构对象代表属性信息

Returns:
ht.List

getScrollBarColor() → {color}

获取滚动条颜色

Returns:
color

getScrollBarSize() → {Number}

获取滚动条宽度

Returns:
Number

getSelectBackground() → {color}

获取行选中背景颜色

Returns:
color

getSelectionModel() → {ht.SelectionModel}

获取选中模型

See:

getSelectRowIndex() → {Number}

获取当前选中行索引

Returns:
Number

getSortFunc() → {function}

获取排序函数

Returns:
function

getTranslateY() → {Number}

获取垂直平移值

Returns:
Number -

垂直平移值

See:

getView() → {HTMLDivElement}

获取组件的根层div

Returns:
HTMLDivElement

getVisibleFunc() → {function}

获取可见过滤器函数

Returns:
function

getWidth() → {Number}

获取布局宽度

Returns:
Number

invalidate(delay)

无效组件,并调用延时刷新

Parameters:
Name Type Description
delay Number

延迟刷新的间隔事件(单位:ms)

See:

invalidateModel()

无效模型,最彻底的刷新方式

See:

isAutoHideScrollBar() → {Boolean}

是否自动隐藏滚动条

Returns:
Boolean

isBatchEditable() → {Boolean}

是否启用批量编辑

Returns:
Boolean

isCategorizable() → {Boolean}

是否分组显示,默认为true,为false则忽略Property的categoryName属性

Returns:
Boolean

isColumnLineVisible() → {Boolean}

获取列线是否可见,默认为true

Returns:
Boolean

isDisabled() → {Boolean}

组件是否处于不可用状态,处于此状态时不能进行任何操作并且会遮挡一层蒙板

Returns:
Boolean

isEditable() → {Boolean}

返回可否编辑的总开关,默认为false,每个Property属性对象可再控制

Returns:
Boolean

isExpanded(categoryName) → {Boolean}

分组是否展开

Parameters:
Name Type Description
categoryName String

分组名

Returns:
Boolean

isPropertyEditable(property) → {Boolean}

判断属性是否可编辑,可重载自定义

Parameters:
Name Type Description
property ht.Property

属性对象

Returns:
Boolean

isRowLineVisible() → {Boolean}

获取行线是否可见,默认为true

Returns:
Boolean

isSelectionModelShared() → {Boolean}

当前组件是否共享选中模型

Returns:
Boolean

isVisible(property) → {Boolean}

判断属性是否可见

Parameters:
Name Type Description
property ht.Property

属性对象

Returns:
Boolean

iv(delay)

无效组件,并调用延时刷新,invalidate的缩写

Parameters:
Name Type Description
delay Number

延迟刷新的间隔事件(单位:ms)

See:

ivm()

无效模型,重新构造内部的rows数据,最彻底的刷新方式,invalidateModel的缩写

See:

lp(event) → {Object}

传入HTML事件对象,将事件坐标转换为组件中的逻辑坐标,getLogicalPoint的缩写

Parameters:
Name Type Description
event Event

事件对象

Returns:
Object
See:

mp(listener, scope, ahead)

增加自身属性变化事件监听器,addPropertyChangeListener的缩写

Parameters:
Name Type Attributes Description
listener function

监听器函数

scope Object <optional>

监听器函数域

ahead Boolean <optional>

是否将当前监听器插入到监听器列表开头

See:

onCollapsed(categoryName)

合并分组时调用,可重载做后续处理

Parameters:
Name Type Description
categoryName String

分组名

onExpanded(categoryName)

展开分组时调用,可重载做后续处理

Parameters:
Name Type Description
categoryName String

分组名

onTranslateEnded()

平移动画结束时回调,可重载做后续处理

redraw()

重绘组件中所有行,仅次于invalidateModel的彻底刷新方式

removeBottomPainter(painter)

删除底层Painter

Parameters:
Name Type Description
painter Object

Painter类

removePropertyChangeListener(listener, scope)

删除自身属性变化事件监听器

Parameters:
Name Type Attributes Description
listener function

监听器函数

scope Object <optional>

监听器函数域

removeSelection()

删除所有选中的图元

removeTopPainter(painter)

删除顶层Painter

Parameters:
Name Type Description
painter Object

Painter类

removeViewListener(listener, scope)

删除视图事件监听器

Parameters:
Name Type Attributes Description
listener function

监听器函数

scope Object <optional>

监听器函数域

setAutoHideScrollBar(v)

设置是否自动隐藏滚动条

Parameters:
Name Type Description
v Boolean

setBackground(color)

设置边框和分组行的背景颜色

Parameters:
Name Type Description
color color

setBatchEditable(v)

设置是否启用批量编辑

Parameters:
Name Type Description
v Boolean

setCategorizable(v)

设置是否分组显示,默认为true,为false则忽略Property的categoryName属性

Parameters:
Name Type Description
v Boolean

setCollapseIcon(icon)

设置分组合并图标

Parameters:
Name Type Description
icon String

setColumnLineColor(color)

设置列线颜色

Parameters:
Name Type Description
color color

setColumnLineVisible(v)

设置列线是否可见

Parameters:
Name Type Description
v Boolean

setColumnPosition(v)

设置列线位置比例,默认值0.5,允许范围为0~1

Parameters:
Name Type Description
v Number

setDataModel(dataModel)

设置绑定的数据模型

Parameters:
Name Type Description
dataModel ht.DataModel

数据模型

setDisabled(value, iconUrl)

设置组件是否处于不可用状态,处于不可用状态时不能进行任何操作并且会遮挡一层蒙板

Parameters:
Name Type Attributes Description
value Boolean

是否禁用组件

iconUrl String <optional>

蒙板上显示的icon的路径

setEditable(editable)

设置可否编辑的总开关,默认为false,每个Property属性对象可再控制

Parameters:
Name Type Description
editable Boolean

setExpandIcon(icon)

设置分组展开图标

Parameters:
Name Type Description
icon String

setHeight(v)

设置布局高度

Parameters:
Name Type Description
v Number

高度值

setIndent(v)

设置左侧缩进,左侧空间用于绘制分组toggle图标,以及属性提示icon图标

Parameters:
Name Type Description
v Number

setLabelColor(color)

设置属性值文本颜色

Parameters:
Name Type Description
color color

setLabelFont(font)

设置属性值文本字体

Parameters:
Name Type Description
font String

setLabelSelectColor(color)

设置选中文本颜色

Parameters:
Name Type Description
color color

setProperties(properties)

以json的方式配置属性(设置)

Parameters:
Name Type Description
properties Array

json属性

Example
//示例:
propertyView.setProperties([{
	name: 'id',
	displayName: '序号'
},
{
	name: 'background',
	accessType: 'style'
}
]);

setRowHeight(v)

设置行高

Parameters:
Name Type Description
v Number

setRowLineColor(color)

设置行线颜色

Parameters:
Name Type Description
color color

setRowLineVisible(v)

设置行线是否可见

Parameters:
Name Type Description
v Boolean

setScrollBarColor(color)

设置滚动条颜色

Parameters:
Name Type Description
color color

颜色值

setScrollBarSize(size)

设置滚动条宽度

Parameters:
Name Type Description
size Number

宽度值

setSelectBackground(color)

设置行选中背景颜色

Parameters:
Name Type Description
color color

setSelectionModelShared(v)

设置组件是否共享选中模型

Parameters:
Name Type Description
v Boolean

setSelectRowIndex(v)

设置当前选中行索引

Parameters:
Name Type Description
v Number

setSortFunc(func)

设置排序函数

Parameters:
Name Type Description
func function

setTranslate(x, y, anim)

设置水平和垂直平移值

Parameters:
Name Type Attributes Description
x Number

水平平移值(无效)

y Number

垂直平移值

anim Boolean <optional>

是否使用动画

setTranslateY(y)

设置垂直平移值

Parameters:
Name Type Description
y Number

垂直平移值

setVisibleFunc(func)

设置可见属性过滤器

Parameters:
Name Type Description
func function

过滤器函数

setWidth(v)

设置布局宽度

Parameters:
Name Type Description
v Number

宽度值

showVBar()

显示垂直滚动条

sm() → {ht.SelectionModel}

获取选中模型,getSelectionModel的缩写

See:

toggle(categoryName)

切换分组展开合并状态

Parameters:
Name Type Description
categoryName String

分组名

translate(x, y, anim)

在当前值基础上增加水平和垂直平移值

Parameters:
Name Type Attributes Description
x Number

新增的水平平移值(无效)

y Number

新增的垂直平移值

anim Boolean <optional>

是否使用动画

ty(value)

获取或设置垂直平移值,没有参数时相当于getTranslateY,有参数时相当于setTranslateY

Parameters:
Name Type Description
value Number

平移值

ump(listener, scope)

删除自身属性变化事件监听器,removePropertyChangeListener的缩写

Parameters:
Name Type Attributes Description
listener function

监听器函数

scope Object <optional>

监听器函数域

See:

validate()

立刻刷新组件