package com.seeyon.apps.src_ordinary.fieldCtrl;

import java.util.List;

import com.seeyon.cap4.form.bean.ParamDefinition;
import com.seeyon.cap4.form.bean.fieldCtrl.FormFieldCustomCtrl;
import com.seeyon.cap4.form.util.Enums.ParamType;

import www.seeyon.com.utils.UUIDUtil;

/**
 * <pre>
 * 自定义控件:调用接口
 * </pre>
 */
public class OrdinaryFieldCtrl extends FormFieldCustomCtrl {

    /**
     * UUIDLong.longUUID()
     * UUIDUtil.getUUIDString()
     */
    public String getKey() {
        return "6903530450190094319";
    }
    
    public static void main(String[] args) {
		System.out.println(UUIDUtil.getUUIDLong());
	}

    public String getFieldLength() {
        return "20";
    }

    /**
     * 控件初始化接口，此接口在控件初始化的时候，会调用，主要用于定义控件所属插件id、在表单编辑器中的图标、表单编辑器中有哪些属性可以设置。
     * 使用举例：在接口中定义自定义控件在在表单编辑器中有哪些控件属性需要配置
     */
    public void init() {
        setPluginId("ordinary");
        setIcon("cap-icon-querystatistics");
        // 自定义参数
        ParamDefinition templateIdParam = new ParamDefinition();
        templateIdParam.setParamType(ParamType.button);
        addDefinition(templateIdParam);
    }

    /** (non-Javadoc)
     * @see com.seeyon.cap4.form.bean.fieldCtrl.FormFieldCustomCtrl#getPCInjectionInfo()
     * PC端的资源文件路径
     */
    public String getPCInjectionInfo() {
        return "{path:'apps_res/cap/customCtrlResources/ordinaryResources/',jsUri:'js/openUnflow.js',initMethod:'init',nameSpace:'field_" + getKey() + "'}";
    }


    /**
     * 获取移动端自定义控件运行态资源注入信息
     * path：'http://'+m3应用包mainifest.json中的urlSchemes的值+'v'+m3应用包mainifest.json中的version的值
     * weixinpath: 微信端打开的时候使用的m3/apps/v5/自定义控件移动端资源目录名称/,weixinpath配置的就是此自定义控件移动端资源目录名称
     * jsUri:移动端表单运行态加载第三方JavaScript的路径
     * initMethod:定义M3端表单运行态第三方js入口方法名称
     * * nameSpace:定义M3端表单运行态命名空间
     *
     * @return
     */

    /** (non-Javadoc)
     * @see com.seeyon.cap4.form.bean.fieldCtrl.FormFieldCustomCtrl#getMBInjectionInfo()
     * 移动端的资源地址
     */
    public String getMBInjectionInfo() {
        return "{path:'http://ordinary.v5.cmp/v1.0.0/',weixinpath:'ordinary',jsUri:'js/ordinary.js',initMethod:'init',nameSpace:'field_" + this.getKey() + "'}";
    }

    public String getText() {
        return "合同编号生成按钮";
    }

    public boolean canBathUpdate() {
        return false;
    }

    public List<String[]> getListShowDefaultVal(Integer externalType) {
        return null;
    }

    /**
     * 初始值生成接口
     */	
    public String[] getDefaultVal(String defaultValue) {
        return new String[0];
    }

    public boolean canInjectionWord() {
        return false;
    }

}
