TIS自定义插件开发说明

说明

标准插件呈现外观

如何创建插件

  1. 需要创建一个maven工程pom.xml中 属性tpi标注是一个标准TIS插件

Plugin表单扩展字段配置说明

假设有插件DataxMySQLReader(完整类路径为:com.qlangtech.tis.plugin.datax.DataxMySQLReader) 内有两个属性dbNamesplitPk

public class DataxMySQLReader extends DataxReader {
    @FormField(ordinal = 0, type = FormFieldType.ENUM, validate = {Validator.require})
    public String dbName;

    @FormField(ordinal = 1, type = FormFieldType.ENUM, validate = {Validator.require, Validator.identity})
    public boolean splitPk;
}
{
"myProp": {
    "label": "数据库名",
    "placeholder": "a=123&b=456",
    "helpUrl": "http://tis.pub/docs/guide/datasource/multi-ds-rule",
    "dftVal": false,
    "rows": 5,
    "help": "无特殊情况请不要修改模版内容,避免不必要的错误",
    "style": "codemirror",
    "mode": "application/ld+json",
    "disable": true,
    "enum": [
      {
        "val": true,
        "label": "是"
      },
      {
        "val": false,
        "label": "否"
      }
    ],
    "creator": {
      "routerLink": "/base/departmentlist",
      "label": "部门管理" ,
      "plugin-parent": {
        "hetero": "datasource",
        "extraParam": "type_detailed,update_false,disableBizStore_true"
      },
      "plugin": [
        {
          "descName": "MySQL-V5"
        },
        {
          "descName": "MySQL-V8"
        }
      ]
    }
  }
}
Key说明例子必须
label
@FormField描述的字段对应的说明性描述
“label”: “数据库名”no
placeholder表单提示内容“placeholder”: “a=123&b=456”no
helpUrl
字段对应的帮助说明文档链接
“helpUrl”: “http://tis.pub/docs/guide/datasource/multi-ds-rule"no
dftVal字段对应的默认值,字段类型根据表单控件类型而定“dftVal”: falseno
rows
@FormField对应的type类型为TEXTAREA可以使用rows来控制textare控件在表单中默认行数
“rows”: 5no
style当@FormField( type = FormFieldType.TEXTAREA)标示 plugin属性为textarea类型的控件时,为了提高控件输入可读性,可使用codemirror来对控件内容进行高亮处理,必须使用值为codemirror
mode当style为codemirror,可使用mode值来设置codemirrir的高亮语法,可选择:“text/yaml”,“application/ld+json”,“application/xml”,“text/x-sql”,“text/x-groovy”,“text/x-scala"等
enum
@FormField对应的type类型为ENUM可以使用enum来描述输入的枚举值,类型是一个array的元祖结构,或通过groovy脚本取得类型为com.qlangtech.tis.manage.common.Option的列表对象
creator配置Plugin录入页面,field空间右侧辅助输入按钮行为
disable使得该属性在表单中隐去
help使用该属性在表单中对表单的录入字段进行说明

creator说明

子属性说明:

  • routerLink

  • label

  • plugin

    是一个array属性,主属性支持多种plugin类型的输入descName为Plugin的displayName,hetero为plugin的的类型,extraParam为插件提交的辅助参数控制插件表单提交服务端处理的行为逻辑,以上三个属性为必须输入属性

  • ‘plugin’-parent

    对于所有plugin子配置提供基础扩展属性,有效提高配置的可读性,可配置属性为descNameheteroextraParam 三个