index.ts 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. import { jnpfApproverConfig } from './element/approver';
  2. import { jnpfEndConfig } from './element/end';
  3. import { jnpfAddDataConfig } from './element/execute/addData';
  4. import { jnpfDelDataConfig } from './element/execute/delData';
  5. import { jnpfGetDataConfig } from './element/execute/getData';
  6. import { jnpfInterfaceConfig } from './element/execute/interface';
  7. import { jnpfLaunchConfig } from './element/execute/launch';
  8. import { jnpfMessageConfig } from './element/execute/message';
  9. import { jnpfScheduleConfig } from './element/execute/schedule';
  10. import { jnpfUpdateDataConfig } from './element/execute/updateData';
  11. import { jnpfChooseConfig } from './element/gateway/choose';
  12. import { jnpfExclusiveConfig } from './element/gateway/exclusive';
  13. import { jnpfInclusiveConfig } from './element/gateway/inclusive';
  14. import { jnpfParallelConfig } from './element/gateway/parallel';
  15. import { jnpfGroupConfig } from './element/group';
  16. import { jnpfLabelConfig } from './element/label';
  17. import { jnpfProcessingConfig } from './element/processing';
  18. import { jnpfSequenceFlow } from './element/sequenceFlow';
  19. import { jnpfStartConfig } from './element/start';
  20. import { jnpfSubFlowConfig } from './element/subFlow';
  21. import { jnpfTriggerConfig } from './element/trigger';
  22. import { jnpfEventConfig } from './element/trigger/event';
  23. import { jnpfNoticeConfig } from './element/trigger/notice';
  24. import { jnpfTimeConfig } from './element/trigger/time';
  25. import { jnpfWebhookConfig } from './element/trigger/webhook';
  26. import { jnpfOutsideConfig } from './element/outside';
  27. import {
  28. bpmnAddData,
  29. bpmnChoose,
  30. bpmnDelData,
  31. bpmnEnd,
  32. bpmnEvent,
  33. bpmnExclusive,
  34. bpmnGetData,
  35. bpmnGroup,
  36. bpmnInclusive,
  37. bpmnInterface,
  38. bpmnLabel,
  39. bpmnLaunchFlow,
  40. bpmnMessage,
  41. bpmnNotice,
  42. bpmnParallel,
  43. bpmnProcessing,
  44. bpmnOutside,
  45. bpmnSchedule,
  46. bpmnSequenceFlow,
  47. bpmnStart,
  48. bpmnSubFlow,
  49. bpmnTask,
  50. bpmnTime,
  51. bpmnTimer,
  52. bpmnTrigger,
  53. bpmnUpdateData,
  54. bpmnWebhook,
  55. typeAddData,
  56. typeChoose,
  57. typeDelData,
  58. typeEnd,
  59. typeEventTrigger,
  60. typeExclusive,
  61. typeGateway,
  62. typeGetData,
  63. typeGroup,
  64. typeInclusion,
  65. typeInterface,
  66. typeLabel,
  67. typeLaunchFlow,
  68. typeMessage,
  69. typeNoticeTrigger,
  70. typeParallel,
  71. typeSchedule,
  72. typeStart,
  73. typeSubFlow,
  74. typeTask,
  75. typeTimer,
  76. typeTimeTrigger,
  77. typeTrigger,
  78. typeUpdateData,
  79. typeWebhookTrigger,
  80. typeOutside
  81. } from './variableName';
  82. const hasLabelElements: any = [
  83. 'bpmn:StartEvent',
  84. 'bpmn:EndEvent',
  85. 'bpmn:InclusiveGateway',
  86. ]; // 一开始就有label标签的元素类型
  87. const BpmnBusinessObjectKey = {
  88. id: 'wnId',
  89. };
  90. const typeConfig: any = {
  91. [bpmnAddData]: jnpfAddDataConfig,
  92. [bpmnChoose]: jnpfChooseConfig,
  93. [bpmnDelData]: jnpfDelDataConfig,
  94. [bpmnEnd]: jnpfEndConfig,
  95. [bpmnEvent]: jnpfEventConfig,
  96. [bpmnExclusive]: jnpfExclusiveConfig,
  97. [bpmnGetData]: jnpfGetDataConfig,
  98. [bpmnGroup]: jnpfGroupConfig,
  99. [bpmnInclusive]: jnpfInclusiveConfig,
  100. [bpmnInterface]: jnpfInterfaceConfig,
  101. [bpmnLabel]: jnpfLabelConfig,
  102. [bpmnLaunchFlow]: jnpfLaunchConfig,
  103. [bpmnMessage]: jnpfMessageConfig,
  104. [bpmnNotice]: jnpfNoticeConfig,
  105. [bpmnParallel]: jnpfParallelConfig,
  106. [bpmnProcessing]: jnpfProcessingConfig,
  107. [bpmnSchedule]: jnpfScheduleConfig,
  108. [bpmnSequenceFlow]: jnpfSequenceFlow,
  109. [bpmnStart]: jnpfStartConfig,
  110. [bpmnSubFlow]: jnpfSubFlowConfig,
  111. [bpmnTask]: jnpfApproverConfig,
  112. [bpmnTime]: jnpfTimeConfig,
  113. [bpmnTrigger]: jnpfTriggerConfig,
  114. [bpmnUpdateData]: jnpfUpdateDataConfig,
  115. [bpmnWebhook]: jnpfWebhookConfig,
  116. [bpmnOutside]: jnpfOutsideConfig,
  117. };
  118. // 默认wnType值
  119. const conversionWnType: any = {
  120. [bpmnEnd]: typeEnd,
  121. [bpmnExclusive]: typeExclusive,
  122. [bpmnGroup]: typeGroup,
  123. [bpmnInclusive]: typeInclusion,
  124. [bpmnLabel]: typeLabel,
  125. [bpmnParallel]: typeParallel,
  126. [bpmnStart]: typeStart,
  127. [bpmnSubFlow]: typeSubFlow,
  128. [bpmnTask]: typeTask,
  129. [bpmnTimer]: typeTimer,
  130. };
  131. // 任务节点类型
  132. const changeTypeByTaskShape: any = {
  133. [typeAddData]: bpmnAddData,
  134. [typeDelData]: bpmnDelData,
  135. [typeGetData]: bpmnGetData,
  136. [typeInterface]: bpmnInterface,
  137. [typeLaunchFlow]: bpmnLaunchFlow,
  138. [typeMessage]: bpmnMessage,
  139. [typeSchedule]: bpmnSchedule,
  140. [typeUpdateData]: bpmnUpdateData,
  141. };
  142. // 判断是否为触发节点
  143. const triggerTypeChange: any = {
  144. [bpmnEvent]: typeTrigger,
  145. [bpmnNotice]: typeTrigger,
  146. [bpmnTime]: typeTrigger,
  147. [bpmnTrigger]: typeTrigger,
  148. [bpmnWebhook]: typeTrigger,
  149. };
  150. const changeTypeByTrigger: any = {
  151. [typeEventTrigger]: bpmnEvent,
  152. [typeNoticeTrigger]: bpmnNotice,
  153. [typeTimeTrigger]: bpmnTime,
  154. [typeWebhookTrigger]: bpmnWebhook,
  155. };
  156. const hasGatewayType = new Set([
  157. typeChoose,
  158. typeExclusive,
  159. typeGateway,
  160. typeInclusion,
  161. typeParallel,
  162. ]);
  163. export {
  164. BpmnBusinessObjectKey,
  165. changeTypeByTaskShape,
  166. changeTypeByTrigger,
  167. conversionWnType,
  168. hasGatewayType,
  169. hasLabelElements,
  170. triggerTypeChange,
  171. typeConfig,
  172. };
  173. export * from './constants';
  174. export * from './contextPad';
  175. export * from './variableName';