123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- import End from './end'
- import Start from './start'
- import Task from './task'
- import summary from './summary'
- import Transition from './transition'
- import { logicFlowJsonToSubmit,resDataToLogicFlow } from './tool'
- /**
- * snakerflow组件注册
- */
- class SnakerFlowElement {
- static pluginName = 'snakerFlowElement';
- constructor (data:any) {
- data.lf.register(End)
- data.lf.register(Start)
- data.lf.register(Task)
- data.lf.register(summary)
- data.lf.register(Transition)
- }
- }
- /**
- * snakerflow给你LogicFlow数据转换器
- */
- class SnakerFlowAdapter {
- static pluginName = 'snakerFlowAdapter';
- constructor ({ lf } : { lf: any }) {
- lf.adapterIn = (userData: any) => {
- if (typeof userData.externalData === 'string') {//格式转换
- userData = resDataToLogicFlow(userData)
- }
- userData = userData.json ? userData.json : userData;
- // 将流程扩展属性绑定给lf图模型对象
- lf.graphModel.name = userData.name
- lf.graphModel.code = userData.code
- lf.graphModel.moduleName = userData.moduleName
- lf.graphModel.moduleCode = userData.moduleCode
- lf.graphModel.id = userData.id
- return userData
- }
- lf.adapterOut = (logicFlowData: any) => {
- const graphData = {
- name: lf.graphModel.name,
- code: lf.graphModel.code,
- moduleName: lf.graphModel.moduleName,
- moduleCode: lf.graphModel.moduleCode,
- id: lf.graphModel.id,
- ...logicFlowData
- }
- Object.keys(graphData).forEach((key: string) => {
- // 删除undefined的值
- if (graphData[key] === undefined) {
- delete graphData[key]
- }
- })
- const submitData:any = logicFlowJsonToSubmit(graphData);
- return {
- json: graphData,
- submitData:{
- ...submitData,
- externalData:JSON.stringify(graphData)
- }
- }
- }
- }
- }
- export {
- SnakerFlowElement,
- SnakerFlowAdapter
- }
|