Class: Editor

ht.ui.editor. Editor

new Editor()

TreeView、ListView 中的行数据、TableView、TreeTableView 中的单元格和 PropertyView 中的属性的编辑器接口;
此接口提供了一些回调函数(isEditable、initEditorView、afterLayout、beforeRemove、getEditorValue)可供重写以自定义自己的编辑器,并提供 stopEditing 和 cancelEditing 两个函数控制编辑器结束编辑

通过 addEditorListener 可监听的事件:

事件名 事件对象 描述
stop { kind: 'stop' } 结束编辑时派发
cancel { kind: 'cancel' } 取消编辑时派发

Methods

addEditorListener(listener, scope, ahead)

增加编辑器事件监听器

Parameters:
Name Type Argument Description
listener function

监听器函数

scope Object <optional>

监听器函数域

ahead Boolean <optional>

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

afterLayout(view)

编辑器组件布局完成后调用此函数,可以重写此函数做组件的初始化工作,如打开下拉框

Parameters:
Name Type Description
view ht.ui.View

编辑器组件,如文本框等

beforeRemove(view)

编辑器组件移除之前调用此函数,可以重写此函数做组件的清理工作,如关闭下拉框

Parameters:
Name Type Description
view ht.ui.View

编辑器组件,如文本框等

cancelEditing()

结束编辑并丢弃编辑器组件里的值;在 initEditorView 函数中创建组件时应当监听相应事件(如文本框敲击回车)调用此函数结束编辑,编辑器组件的值将被丢弃

fireValueChange(value)

派发值变化事件;如果希望编辑器组件(如 Slider)的值在改变时立即(而不是结束编辑时)同步到正在编辑的视图组件中,应该监听编辑器组件相关事件,并调用此函数将编辑器组件的值派发出去

Parameters:
Name Type Description
value Object

编辑器组件的值

getEditorValue() → {Object}

返回编辑器组件的值

Returns:

编辑器组件的值

Type
Object

getEditorView() → {ht.ui.View}

获取编辑器组件

Returns:

编辑器组件,如文本框等

Type
ht.ui.View

initEditorView(data, column, view) → {ht.ui.View}

创建并返回编辑器组件;如果 isEditable 返回 true,此函数将会被调用;此函数只回调一次(初始化),后续获取编辑器组件应该调用 getEditorView

Parameters:
Name Type Description
data ht.Data

数据元素

column ht.ui.Column | ht.ui.Property

列对象或属性对象

view ht.ui.View

当前正在编辑的视图组件,如 ListView

Returns:

编辑器组件,如文本框等

Type
ht.ui.View

isEditable(event) → {Boolean}

是否可编辑;编辑之前此函数被调用,默认只有 event 是双击事件才返回 true

Parameters:
Name Type Description
event Event

交互对象

Returns:

是否可编辑

Type
Boolean

stopEditing()

结束编辑并保存编辑器组件的值;在 initEditorView 函数中创建组件时应当监听相应事件(如文本框敲击回车)调用此函数结束编辑

© 2017 Hightopo Inc. All rights reserved. - Email: service@hightopo.com