1.7.2.2.1. 定义动作基本信息

示例:

public MyFormTriggerActionDesignManager extends com.seeyon.ctp.form.modules.trigger.FormTriggerActionDesignManager {
    public String getId(){
        return "xxxxxxx";
    }
    public String geti18nName(){
        return "xxx.project.new";// 新建项目
    }
    public String configPageURL(){
        return "/form/triggerDesign.do?method=messageConfig";
    }
    public boolean canUse4FormType(FormType type){
        return true;
    }
    public boolean canUse(){
        return true;
    }
    public abstract String getActionTypeManagerName(){
        return "myActionTypeManager";
    }
}

Spring配置:

<beans default-autowire="byName">
    <bean class="MyFormTriggerActionDesignManager />
</beans>

接口说明:

public abstract class FormTriggerActionDesignManager {
    /**
     * 获取触发动作唯一标识,很重要
     * @return
     */
    public abstract String getId();

    /**
     * 获取触发动作的序号
     * @return
     */
    public abstract Integer getSort();

    /**
     * 获取动作执行的名字的国际化key
     * @return
     */
    public abstract String geti18nName();

    /**
     * 取得配置页面的URL,相对路径,如:/form/triggerDesign.do?method=messageConfig
     * 该页面必须提供两个JS方法:
     * function init(configValue){...}
     * function OK(){... return configValue}
     * @return
     */
    public abstract String configPageURL();

    /**
     * 根据传入的表单分类判断该动作是否可用
     * @param type
     * @return
     */
    public abstract boolean canUse4FormType(FormType type);

    /**
     * 判断当前动作是否可以被使用,默认只判断是否需要高级表单插件
     * 用于后续扩展使用
     * @return
     */
    public abstract boolean canUse();

    /**
     * 获取动作对应执行类的spring ID
     * @return
     */
    public abstract String getActionTypeManagerName();
}