UNPKG

relu-bpmn

Version:

RELU快速开发平台bpmn组件

95 lines (94 loc) 4.59 kB
import { reluApproverConfig } from './element/approver'; import { reluStartConfig } from './element/start'; import { reluEndConfig } from './element/end'; import { reluSubFlowConfig } from './element/subFlow'; import { reluLabelConfig } from './element/label'; import { reluExclusiveConfig } from './element/gateway/exclusive'; import { reluInclusiveConfig } from './element/gateway/inclusive'; import { reluParallelConfig } from './element/gateway/parallel'; import { bpmnTask, bpmnStart, bpmnEnd, bpmnTimer, bpmnSubFlow, bpmnLabel, bpmnInclusive, bpmnParallel, bpmnExclusive, typeStart, typeEnd, typeSubFlow, typeTimer, typeLabel, typeGateway, typeTask, bpmnSequenceFlow, bpmnGroup, typeGroup, bpmnTrigger, typeAddData, typeGetData, typeUpdateData, typeDelData, typeInterface, typeLaunchFlow, typeMessage, typeSchedule, bpmnAddData, bpmnGetData, bpmnUpdateData, bpmnDelData, bpmnInterface, bpmnLaunchFlow, bpmnMessage, bpmnSchedule, bpmnEvent, bpmnNotice, bpmnWebhook, bpmnTime, typeTrigger, typeEventTrigger, typeWebhookTrigger, typeTimeTrigger, typeNoticeTrigger, bpmnProcessing, bpmnChoose, typeExclusive, typeChoose, typeParallel, typeInclusion, } from './variableName'; import { reluSequenceFlow } from './element/sequenceFlow'; import { reluGroupConfig } from './element/group'; import { reluTriggerConfig } from './element/trigger'; import { reluAddDataConfig } from './element/execute/addData'; import { reluGetDataConfig } from './element/execute/getData'; import { reluUpdateDataConfig } from './element/execute/updateData'; import { reluDelDataConfig } from './element/execute/delData'; import { reluInterfaceConfig } from './element/execute/interface'; import { reluLaunchConfig } from './element/execute/launch'; import { reluMessageConfig } from './element/execute/message'; import { reluScheduleConfig } from './element/execute/schedule'; import { reluWebhookConfig } from './element/trigger/webhook'; import { reluEventConfig } from './element/trigger/event'; import { reluTimeConfig } from './element/trigger/time'; import { reluNoticeConfig } from './element/trigger/notice'; import { reluProcessingConfig } from './element/processing'; import { reluChooseConfig } from './element/gateway/choose'; const hasLabelElements = ['bpmn:StartEvent', 'bpmn:EndEvent', 'bpmn:InclusiveGateway']; const BpmnBusinessObjectKey = { id: 'wnId', }; const typeConfig = { [bpmnTask]: reluApproverConfig, [bpmnStart]: reluStartConfig, [bpmnEnd]: reluEndConfig, [bpmnSubFlow]: reluSubFlowConfig, [bpmnLabel]: reluLabelConfig, [bpmnInclusive]: reluInclusiveConfig, [bpmnParallel]: reluParallelConfig, [bpmnExclusive]: reluExclusiveConfig, [bpmnSequenceFlow]: reluSequenceFlow, [bpmnGroup]: reluGroupConfig, [bpmnTrigger]: reluTriggerConfig, [bpmnAddData]: reluAddDataConfig, [bpmnGetData]: reluGetDataConfig, [bpmnUpdateData]: reluUpdateDataConfig, [bpmnDelData]: reluDelDataConfig, [bpmnInterface]: reluInterfaceConfig, [bpmnLaunchFlow]: reluLaunchConfig, [bpmnMessage]: reluMessageConfig, [bpmnSchedule]: reluScheduleConfig, [bpmnEvent]: reluEventConfig, [bpmnTime]: reluTimeConfig, [bpmnNotice]: reluNoticeConfig, [bpmnWebhook]: reluWebhookConfig, [bpmnProcessing]: reluProcessingConfig, [bpmnChoose]: reluChooseConfig, }; const conversionWnType = { [bpmnStart]: typeStart, [bpmnEnd]: typeEnd, [bpmnTask]: typeTask, [bpmnSubFlow]: typeSubFlow, [bpmnTimer]: typeTimer, [bpmnLabel]: typeLabel, [bpmnInclusive]: typeInclusion, [bpmnParallel]: typeParallel, [bpmnExclusive]: typeExclusive, [bpmnGroup]: typeGroup, }; const changeTypeByTaskShape = { [typeAddData]: bpmnAddData, [typeGetData]: bpmnGetData, [typeUpdateData]: bpmnUpdateData, [typeDelData]: bpmnDelData, [typeInterface]: bpmnInterface, [typeLaunchFlow]: bpmnLaunchFlow, [typeMessage]: bpmnMessage, [typeSchedule]: bpmnSchedule, }; const triggerTypeChange = { [bpmnTrigger]: typeTrigger, [bpmnEvent]: typeTrigger, [bpmnNotice]: typeTrigger, [bpmnTime]: typeTrigger, [bpmnWebhook]: typeTrigger, }; const changeTypeByTrigger = { [typeEventTrigger]: bpmnEvent, [typeNoticeTrigger]: bpmnNotice, [typeTimeTrigger]: bpmnTime, [typeWebhookTrigger]: bpmnWebhook, }; const hasGatewayType = new Set([typeInclusion, typeParallel, typeExclusive, typeChoose, typeGateway]); export { typeConfig, BpmnBusinessObjectKey, hasLabelElements, conversionWnType, changeTypeByTaskShape, triggerTypeChange, changeTypeByTrigger, hasGatewayType };