Usable Range
Process
CMS
Example
//可以在脚本中获取该组件
//方法1:
var attachment = this.form.get("name"); //获取组件
//方法2
var attachment = this.target; //在组件事件脚本中获取
Source
Members
attachmentControllerMWF.xApplication.process.Xform.AttachmentController
附件容器.
Type
-
MWF.xApplication.process.Xform.AttachmentController
Example
var attachmentController = this.form.get("fieldId").attachmentController; //获取附件容器
var attachmentList = attachmentController.attachments; //获取所有的附件
var attachmentData = attachmentList[0].data; //获取第一个附件的数据
Source
nodeElement
组件的节点,mootools封装过的Dom对象,可以直接使用原生的js和moootools方法访问和操作该对象。
Type
-
Element
Overrides
See
Example
//可以在脚本中获取该组件
var field = this.form.get("fieldId"); //获取组件对象
field.node.setStyle("font-size","12px"); //给节点设置样式
Source
jsonJsonObject
组件的配置信息,比如id,类型,是否只读等等。可以在组件的queryLoad事件里修改该配置来对组件做一些改变。
Type
-
JsonObject
Example
//可以在脚本中获取该组件
var json = this.form.get("fieldId").json; //获取组件对象
var id = json.id; //获取组件的id
var type = json.type; //获取组件的类型,如Textfield 为文本输入组件,Select为下拉组件
//在组件queryLoad事件里设置组件只读。
//当前组件的queryLoad事件运行时还没有在form里注册,通过this.form.get("fieldId")不能获取到当前组件,需要用this.target获取。
var json = this.target.json;
json.isReadonly = true; //设置组件为只读。
Source
formMWF.xApplication.process.Xform.Form
组件的所在表单对象.
Type
Example
var form = this.form.get("fieldId").form; //获取组件所在表单对象
var container = form.container; //获取表单容器
Source
parentLineMWF.xApplication.process.Xform.Datatemplate.Line|MWF.xApplication.process.Xform.DatatablePC.Line|MWF.xApplication.process.Xform.DatatableMobile.Line
当前组件在数据表格或者数据模板中时,可以通过此属性获取所在行(条目)对象.
Type
-
MWF.xApplication.process.Xform.Datatemplate.Line
|MWF.xApplication.process.Xform.DatatablePC.Line
|MWF.xApplication.process.Xform.DatatableMobile.Line
Inherited From
Example
//获取当前组件所在数据模板/数据表格的行(条目)对象
var line = this.target.parentLine;
//获取当前字段所在行下标
var index = line.getIndex();
//获取当前字段所在条目的subject字段的值
var data = line.getModule("subject").getData();
//设置当前字段所在条目的subject字段的值
line.getModule("subject").setData("test1");
Source
Methods
getData() → {StringArray|Null}
Summary
获取当前组件所有附件的标题.如果没有附件返回null
Returns
-
StringArray
Null
附件标题.
Example
var getAttachmentNames = this.form.get("name").getData();
Source
setData(data)
Summary
为组件重新设置附件,该附件必须已经上传。
Parameters
-
data
Array
.
[{ "id": "56c4e86f-a4c8-4cc2-a150-1a0d2c5febcb", //附件ID "name": "133203a2-92e6-4653-9954-161b72ddb7f9.png", //附件名称 "extension": "png", //附件扩展名 "length": 43864, //附件大小 "person": "xx@huqi@P", //附件上传人 "lastUpdateTime": "2018-09-27 15:50:34", //最后的修改时间 "lastUpdatePerson": "xx@huqi@P", //最后的修改人 "activity": "e31ad938-c495-45a6-8d77-b8a9b61a165b", //附件上传的活动ID "activityName": "申请人", //附件上传的活动名称 "activityType": "manual", //附件上传的活动类型 "site": "$mediaOpinion", //附件存储位置(一般用于区分附件在哪个表单元素中显示) "type": "image/png", //附件类型(contentType) "control": {} }]
Source
validate(routeNameopt) → {Boolean}
Summary
根据组件的校验设置进行校验。
Parameters
-
routeName
String
<optional>
可选,路由名称.
Inherited From
Returns
-
Boolean
是否通过校验
Example
if( !this.form.get('fieldId').validate() ){
return false;
}
Source
getSource(typeopt) → {Source|SubSource|SubSourceItem}
当前组件在数据源组件中时,可以通过此方法获取所在的上级数据源/子数据源/子数项组件.
Parameters
-
type
String
<optional>
需要获取的类型,"source"为表示数据源,"subSource"表示子数据源,"subSourceItem"表示子数据项组件。 如果该参数省略,则获取离当前组件最近的上述组件。
Inherited From
Returns
-
Source
SubSource
SubSourceItem
。
Example
var source = this.target.getSource(); //获取当前组件的所在子上级数据源/子数据源/子数项组件.
var data = source.data; //获取数据
var source = this.form.get("fieldId").getSource("source"); //获取数据源组件
var data = source.data; //获取数据
Source
getParentModule(typeopt, validateFunctionopt) → {MWF.xApplication.process.Xform.$Module}
获取当前组件所在的祖先组件.
Parameters
-
type
String
<optional>
需要获取的组件类型。 如果该参数省略,则获取离当前组件最近的祖先组件。type有效值如下:
form- 表单common- 通用组件datatable- 数据表格datatableline- 数据表格行datatemplate- 数据模板datatemplateline- 数据模板行div- 容器组件elcommon- Element通用组件elcontainer- Element容器组件subform- 子表单source- 数据源组件subsource- 子数据源subsourceitem- 子数据项组件tab- 分页组件tabpage- 分页组件的某个分页table- 表格tabletd- 单元格widget- 部件 -
validateFunction
function
<optional>
进一步校验,参数为获取到匹配到类型的组件,返回false继续往上取对应类型的组件,返回true返回该组件。
Inherited From
Returns
Example
var module = this.target.getParentModule(); //获取最近的祖先。
var datatemplateLine = this.target.getParentModule("datatemplateline"); //获取当前组件所在的数据模板行.
var module = this.target.getParentModule(null, function(module){
return module.json.id === "div_1";
}); //获取当前组件id为div_1的父组件。
Source
hide()
Summary
隐藏组件.
Inherited From
Example
this.form.get("fieldId").hide(); //隐藏组件
Source
show()
Summary
显示组件.
Inherited From
Example
this.form.get("fieldId").show(); //显示组件
Source
Events
queryLoad
附件组件(this.target)加载前触发。
queryLoadController
附件容器(this.target.attachmentController)初始化之前触发,可以通过this.event获取附件容器的选项。
See
loadController
附件容器(this.target.attachmentController)初始化之后,加载之前触发。
See
postLoadController
附件容器(this.target.attachmentController)加载之后触发,但这时还未加载具体的附件。
See
load
附件组件(this.target)加载完成后触发。这时候附件容器和每个附件都已加载完成。
afterLoad
附件组件(this.target)加载完成后触发。这时候附件容器和每个附件都已加载完成。
See
beforeLoadAttachment
加载每个附件前触发。本事件中可以通过this.event获取加载的附件对象
See
loadAttachment
加载每个附件后触发。本事件中可以通过this.event获取加载的附件对象
See
beforeUpload
附件上传前触发。本事件中可以通过this.event获取上传的文件数组
See
upload
附件上传后触发。本事件中可以通过this.event获取上传附件的数据
See
delete
删除附件前触发。本事件中可以通过this.event获取被删附件的数据
See
afterDelete
删除附件后触发。本事件中可以通过this.event获取被删附件的数据
See
change
附件有变化的时候会被触发,包括上传、替换、删除、排序
See
download
下载附件后触发。本事件中可以通过this.event获取被下载附件对象
See
open
打开附件后触发。本事件中可以通过this.event获取被打开附件对象
See
select
选中附件后触发。本事件中可以通过this.event获取被选中的附件对象
See
unselect
取消选中附件后触发。本事件中可以通过this.event获取被取消选中的附件对象