Dorado 9 : 03. 定制控件默认属性

定制控件默认属性参考

纯js的方法,写一个公用的js方法,并把该js文件打包到common包下。因为common包是全局的,所有view文件都会加载。

在FormElement初始化之前设置labelSeparator为空的js方法:

dorado.beforeInit(function(){
if (dorado.widget.FormElement) {
    dorado.widget.FormElement.prototype.ATTRIBUTES.labelSeparator.defaultValue = "";
}
});

把js文件配置到dorado-home目录下的packages-config.xml中的属性名为common的package中:

<Package name="common" pattern="js" baseUri=">libraries/global">
/libraries/global/globalFunction
</Package>

注:/libraries/global/globalFunction 是globalFunction.js文件的路径,可以换其他写法。

参看: 资源定位表达式(SEFC) http://wiki.bsdn.org/pages/viewpage.action?pageId=6947209

设置Date类型数据FormElement在只读情况下不显示trigger按钮

if (dorado.widget.FormElement){
    dorado.widget.FormElement.prototype.getUserEditor=dorado.widget.FormElement.prototype.getEditor;
    dorado.widget.FormElement.prototype.getEditor = function(create){
        var editor = this.getUserEditor(create);
        var propertyDef = this.getBindingPropertyDef();
        if (propertyDef) {
            var propertyDataType = propertyDef.get("dataType");
            if (propertyDataType instanceof dorado.datatype.DateDataType && this.get("readOnly")) {
                editor.set("trigger",null);
            }
        }
        return editor;
    }
}