自定义控件代码实现
mcg-helper内置控件和示例作为抛砖引玉,体现自动化流程的优势,为针对广大个性化 需求,mcg-helper提供自定义控件的支持,涉及的技术上主要有spring mvc、html、javascript、jquery、bootstrap,一般有两年左右开发经验,基本上就没有什么难度。
第一步,我们先梳理一下实现思路和概念,为后续开发建立前提:
mcg-helper已实现一套流程自动化引擎,提供了前端交互到流程执行的完整功能。核心之一就是自定义控件,mcg-helper已经实现了一套规范,在基础上自定义控件,就会省事很多,意味着流程创建、更新、保存、控件的拖拽功能、流程的执行、控制台日志输出等一应俱全,只需要关心自定义控件功能即可,但仍必须完成以下事情:
1、定义控件的交互界面,在前端发起ajax请求,服务端将返回控件的html页面,并通过javascript实现页面上的功能。
2、实现控件的功能,当流程执行时,并执行到控件时,会先进入prepare方法(准备方法,对于需要初始化或参数调整),然后再执行execute方法(通过java自定义实现控件的具体功能)
第二步、自定义控件的步骤,这里以现有的“文本控件”为例,讲解如何实现的文本控件,所涉及代码调整的关键性位置,具体细节如下:
1、定义控件的类型,
在com.mcg.common.sysenum.EletypeEnum中加入自己的控件,如下图所示:
htmlmodel.js
上面是htmlmodel.js的页面
initmodel.js
htmlcontroller
Flowcontroller
FLowchart流程图
我们依旧会支持flowchart的流程图: