Usable Range
Portal
Example
//可以在脚本中获取该组件
//方法1:
var application = this.form.get("fieldId"); //获取组件
//方法2
var application = this.target; //在组件本身的脚本中获取
Source
Members
iframeObject
当模块部署中配置的是@url:开头的链接时,嵌入的iframe.
Type
-
Object
Example
var iframe = this.form.get("fieldId").iframe; //获取iframe
iframe.src; //获取iframe的地址
Source
componentObject
嵌入的component对象.
Type
-
Object
Example
var app = this.form.get("fieldId").component; //获取component对象
app.recordStatus(); //获取应用的当前状态
app.refresh(); //刷新应用
app.dialog(option); //弹出一个对话框(详见MWF.widget.Dialog)
app.notice(content, type, target, where, offset); //显示一个通知消息
app.confirm(type, e, title, text, width, height, ok, cancel); //显示一个确认框
app.alert(type, e, title, text, width, height); //弹出一个信息框
app.addEvent(type, fun); //为应用绑定一个事件
Source
nodeElement
组件的节点,mootools封装过的Dom对象,可以直接使用原生的js和moootools方法访问和操作该对象。
Type
-
Element
Inherited From
See
Example
//可以在脚本中获取该组件
var field = this.form.get("fieldId"); //获取组件对象
field.node.setStyle("font-size","12px"); //给节点设置样式
Source
jsonJsonObject
组件的配置信息,比如id,类型,是否只读等等。可以在组件的queryLoad事件里修改该配置来对组件做一些改变。
Type
-
JsonObject
Inherited From
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
Inherited From
Example
var form = this.form.get("fieldId").form; //获取组件所在表单对象
var container = form.container; //获取表单容器
Source
Methods
active(callback)
Summary
当组件被设置为延迟激活,通过active方法激活
Parameters
-
callback
function
激活后的回调方法(不保证组件加载完成),另外已经激活过该方法还会被执行。
Example
var app = this.form.get("fieldId");
app.active(function(){
//do someting
})
Source
reload(callback)
Summary
重新加载嵌入对象
Parameters
-
callback
function
重载后的回调
Example
this.form.get("fieldId").reload()
Source
clean()
Summary
清除当前嵌入的对象
Example
this.form.get("fieldId").clean()
Source
loadIframe(src)
Summary
加载Iframe
Parameters
-
src
String
iframe的src,如'https://www.baidu.com/'
Example
this.form.get("fieldId").clean(); //清除当前嵌入的对象
this.form.get("fieldId").loadIframe('https://www.baidu.com/'); //加载iframe
Source
loadComponent(path, statusopt, optionsopt)
Summary
加载系统组件
Parameters
-
path
String
组件的路径,如'Calendar'
-
status
Object
<optional>
组件的状态
-
options
Object
<optional>
组件的选项
Examples
this.form.get("fieldId").clean(); //清除当前嵌入的对象
this.form.get("fieldId").loadComponent('Calendar'); //加载日程安排
this.form.get("fieldId").clean(); //清除当前嵌入的对象
this.form.get("fieldId").loadComponent('cms.Module', {
"columnId":"25434995-45d2-4c9a-a344-55ad0deff071"
}); //加载id为25434995-45d2-4c9a-a344-55ad0deff071的内容管理栏目
Source
getComponentPath(callback)
Summary
获取获取表单设计配置的component对象的路径
Parameters
-
callback
function
获取路径后的回调方法,参数为路径
Example
this.form.get("fieldId").getComponentPath(function(path){
//path为路径
})
Source
getComponentOptions()
Summary
获取表单设计配置的component对象的参数
Returns
-
设置的参数
Example
var param = this.form.get("fieldId").getComponentOptions()
Source
getComponentStatus()
Summary
获取表单设计配置的component对象的状态
Returns
-
设置的状态
Example
var param = this.form.get("fieldId").getComponentStatus()
Source
validate(routeNameopt) → {Boolean}
Summary
根据组件的校验设置进行校验。
Parameters
-
routeName
String
<optional>
可选,路由名称.
Inherited From
Returns
-
Boolean
是否通过校验
Example
if( !this.form.get('fieldId').validate() ){
return false;
}
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
queryLoadApplication
component对象初始化后,加载之前触发,this.event可获取component对象。
See
queryLoad
组件加载前触发。queryLoad执行的时候,当前组件没有在form里注册,通过this.form.get("fieldId")不能获取到当前组件,需要用this.target获取。
postLoad
组件加载后触发.
load
组件加载后触发.