UNPKG

bpmn-js

Version:

A bpmn 2.0 toolkit and web modeler

628 lines (615 loc) 17.1 kB
/** * Shared catalog of BPMN element popup entry definitions. * * Each entry is the context-independent identity of an element its `target` * (moddle type + discriminating attributes), plus the `label` and `className` * shared across every menu that offers it (create, append, replace). * * Menus compose their own option lists from these atoms, adding menu-specific fields * * @typedef { { * label: string; * className: string; * target: { * type: string; * isExpanded?: boolean; * triggeredByEvent?: boolean; * instantiate?: boolean; * eventGatewayType?: string; * isInterrupting?: boolean; * cancelActivity?: boolean; * eventDefinitionType?: string; * eventDefinitionAttrs?: Record<string, any>; * }; * } } ElementDefinition * * @type {Record<string, ElementDefinition>} */ export const PopupEntries = { // Tasks 'task': { label: 'Task', className: 'bpmn-icon-task', target: { type: 'bpmn:Task' } }, 'user-task': { label: 'User task', className: 'bpmn-icon-user', target: { type: 'bpmn:UserTask' } }, 'service-task': { label: 'Service task', className: 'bpmn-icon-service', target: { type: 'bpmn:ServiceTask' } }, 'send-task': { label: 'Send task', className: 'bpmn-icon-send', target: { type: 'bpmn:SendTask' } }, 'receive-task': { label: 'Receive task', className: 'bpmn-icon-receive', target: { type: 'bpmn:ReceiveTask' } }, 'manual-task': { label: 'Manual task', className: 'bpmn-icon-manual', target: { type: 'bpmn:ManualTask' } }, 'rule-task': { label: 'Business rule task', className: 'bpmn-icon-business-rule', target: { type: 'bpmn:BusinessRuleTask' } }, 'script-task': { label: 'Script task', className: 'bpmn-icon-script', target: { type: 'bpmn:ScriptTask' } }, // Sub-processes 'call-activity': { label: 'Call activity', className: 'bpmn-icon-call-activity', target: { type: 'bpmn:CallActivity' } }, 'transaction': { label: 'Transaction', className: 'bpmn-icon-transaction', target: { type: 'bpmn:Transaction', isExpanded: true } }, 'event-subprocess': { label: 'Event sub-process', className: 'bpmn-icon-event-subprocess-expanded', target: { type: 'bpmn:SubProcess', triggeredByEvent: true, isExpanded: true } }, 'collapsed-subprocess': { label: 'Sub-process (collapsed)', className: 'bpmn-icon-subprocess-collapsed', target: { type: 'bpmn:SubProcess', isExpanded: false } }, 'expanded-subprocess': { label: 'Sub-process (expanded)', className: 'bpmn-icon-subprocess-expanded', target: { type: 'bpmn:SubProcess', isExpanded: true } }, 'collapsed-ad-hoc-subprocess': { label: 'Ad-hoc sub-process (collapsed)', className: 'bpmn-icon-subprocess-collapsed', target: { type: 'bpmn:AdHocSubProcess', isExpanded: false } }, 'expanded-ad-hoc-subprocess': { label: 'Ad-hoc sub-process (expanded)', className: 'bpmn-icon-subprocess-expanded', target: { type: 'bpmn:AdHocSubProcess', isExpanded: true } }, // Gateways 'exclusive-gateway': { label: 'Exclusive gateway', className: 'bpmn-icon-gateway-xor', target: { type: 'bpmn:ExclusiveGateway' } }, 'parallel-gateway': { label: 'Parallel gateway', className: 'bpmn-icon-gateway-parallel', target: { type: 'bpmn:ParallelGateway' } }, 'inclusive-gateway': { label: 'Inclusive gateway', className: 'bpmn-icon-gateway-or', target: { type: 'bpmn:InclusiveGateway' } }, 'complex-gateway': { label: 'Complex gateway', className: 'bpmn-icon-gateway-complex', target: { type: 'bpmn:ComplexGateway' } }, 'event-based-gateway': { label: 'Event-based gateway', className: 'bpmn-icon-gateway-eventbased', target: { type: 'bpmn:EventBasedGateway', instantiate: false, eventGatewayType: 'Exclusive' } }, // Data 'data-store-reference': { label: 'Data store reference', className: 'bpmn-icon-data-store', target: { type: 'bpmn:DataStoreReference' } }, 'data-object-reference': { label: 'Data object reference', className: 'bpmn-icon-data-object', target: { type: 'bpmn:DataObjectReference' } }, // Participants 'expanded-pool': { label: 'Expanded pool/participant', className: 'bpmn-icon-participant', target: { type: 'bpmn:Participant', isExpanded: true } }, 'collapsed-pool': { label: 'Empty pool/participant', className: 'bpmn-icon-lane', target: { type: 'bpmn:Participant', isExpanded: false } }, // Events none 'none-start-event': { label: 'Start event', className: 'bpmn-icon-start-event-none', target: { type: 'bpmn:StartEvent' } }, 'none-intermediate-throwing': { label: 'Intermediate throw event', className: 'bpmn-icon-intermediate-event-none', target: { type: 'bpmn:IntermediateThrowEvent' } }, 'none-boundary-event': { label: 'Boundary event', className: 'bpmn-icon-intermediate-event-none', target: { type: 'bpmn:BoundaryEvent' } }, 'none-end-event': { label: 'End event', className: 'bpmn-icon-end-event-none', target: { type: 'bpmn:EndEvent' } }, // Events typed start 'message-start': { label: 'Message start event', className: 'bpmn-icon-start-event-message', target: { type: 'bpmn:StartEvent', eventDefinitionType: 'bpmn:MessageEventDefinition', isInterrupting: true } }, 'timer-start': { label: 'Timer start event', className: 'bpmn-icon-start-event-timer', target: { type: 'bpmn:StartEvent', eventDefinitionType: 'bpmn:TimerEventDefinition', isInterrupting: true } }, 'conditional-start': { label: 'Conditional start event', className: 'bpmn-icon-start-event-condition', target: { type: 'bpmn:StartEvent', eventDefinitionType: 'bpmn:ConditionalEventDefinition', isInterrupting: true } }, 'signal-start': { label: 'Signal start event', className: 'bpmn-icon-start-event-signal', target: { type: 'bpmn:StartEvent', eventDefinitionType: 'bpmn:SignalEventDefinition', isInterrupting: true } }, 'error-start': { label: 'Error start event', className: 'bpmn-icon-start-event-error', target: { type: 'bpmn:StartEvent', eventDefinitionType: 'bpmn:ErrorEventDefinition', isInterrupting: true } }, 'escalation-start': { label: 'Escalation start event', className: 'bpmn-icon-start-event-escalation', target: { type: 'bpmn:StartEvent', eventDefinitionType: 'bpmn:EscalationEventDefinition', isInterrupting: true } }, 'compensation-start': { label: 'Compensation start event', className: 'bpmn-icon-start-event-compensation', target: { type: 'bpmn:StartEvent', eventDefinitionType: 'bpmn:CompensateEventDefinition', isInterrupting: true } }, // Events non-interrupting start (event subprocess) 'non-interrupting-message-start': { label: 'Message start event (non-interrupting)', className: 'bpmn-icon-start-event-non-interrupting-message', target: { type: 'bpmn:StartEvent', eventDefinitionType: 'bpmn:MessageEventDefinition', isInterrupting: false } }, 'non-interrupting-timer-start': { label: 'Timer start event (non-interrupting)', className: 'bpmn-icon-start-event-non-interrupting-timer', target: { type: 'bpmn:StartEvent', eventDefinitionType: 'bpmn:TimerEventDefinition', isInterrupting: false } }, 'non-interrupting-conditional-start': { label: 'Conditional start event (non-interrupting)', className: 'bpmn-icon-start-event-non-interrupting-condition', target: { type: 'bpmn:StartEvent', eventDefinitionType: 'bpmn:ConditionalEventDefinition', isInterrupting: false } }, 'non-interrupting-signal-start': { label: 'Signal start event (non-interrupting)', className: 'bpmn-icon-start-event-non-interrupting-signal', target: { type: 'bpmn:StartEvent', eventDefinitionType: 'bpmn:SignalEventDefinition', isInterrupting: false } }, 'non-interrupting-escalation-start': { label: 'Escalation start event (non-interrupting)', className: 'bpmn-icon-start-event-non-interrupting-escalation', target: { type: 'bpmn:StartEvent', eventDefinitionType: 'bpmn:EscalationEventDefinition', isInterrupting: false } }, // Events intermediate (catch/throw) 'message-intermediate-catch': { label: 'Message intermediate catch event', className: 'bpmn-icon-intermediate-event-catch-message', target: { type: 'bpmn:IntermediateCatchEvent', eventDefinitionType: 'bpmn:MessageEventDefinition' } }, 'message-intermediate-throw': { label: 'Message intermediate throw event', className: 'bpmn-icon-intermediate-event-throw-message', target: { type: 'bpmn:IntermediateThrowEvent', eventDefinitionType: 'bpmn:MessageEventDefinition' } }, 'timer-intermediate-catch': { label: 'Timer intermediate catch event', className: 'bpmn-icon-intermediate-event-catch-timer', target: { type: 'bpmn:IntermediateCatchEvent', eventDefinitionType: 'bpmn:TimerEventDefinition' } }, 'escalation-intermediate-throw': { label: 'Escalation intermediate throw event', className: 'bpmn-icon-intermediate-event-throw-escalation', target: { type: 'bpmn:IntermediateThrowEvent', eventDefinitionType: 'bpmn:EscalationEventDefinition' } }, 'conditional-intermediate-catch': { label: 'Conditional intermediate catch event', className: 'bpmn-icon-intermediate-event-catch-condition', target: { type: 'bpmn:IntermediateCatchEvent', eventDefinitionType: 'bpmn:ConditionalEventDefinition' } }, 'link-intermediate-catch': { label: 'Link intermediate catch event', className: 'bpmn-icon-intermediate-event-catch-link', target: { type: 'bpmn:IntermediateCatchEvent', eventDefinitionType: 'bpmn:LinkEventDefinition', eventDefinitionAttrs: { name: '' } } }, 'link-intermediate-throw': { label: 'Link intermediate throw event', className: 'bpmn-icon-intermediate-event-throw-link', target: { type: 'bpmn:IntermediateThrowEvent', eventDefinitionType: 'bpmn:LinkEventDefinition', eventDefinitionAttrs: { name: '' } } }, 'compensation-intermediate-throw': { label: 'Compensation intermediate throw event', className: 'bpmn-icon-intermediate-event-throw-compensation', target: { type: 'bpmn:IntermediateThrowEvent', eventDefinitionType: 'bpmn:CompensateEventDefinition' } }, 'signal-intermediate-catch': { label: 'Signal intermediate catch event', className: 'bpmn-icon-intermediate-event-catch-signal', target: { type: 'bpmn:IntermediateCatchEvent', eventDefinitionType: 'bpmn:SignalEventDefinition' } }, 'signal-intermediate-throw': { label: 'Signal intermediate throw event', className: 'bpmn-icon-intermediate-event-throw-signal', target: { type: 'bpmn:IntermediateThrowEvent', eventDefinitionType: 'bpmn:SignalEventDefinition' } }, // Events boundary (interrupting) 'message-boundary': { label: 'Message boundary event', className: 'bpmn-icon-intermediate-event-catch-message', target: { type: 'bpmn:BoundaryEvent', eventDefinitionType: 'bpmn:MessageEventDefinition', cancelActivity: true } }, 'timer-boundary': { label: 'Timer boundary event', className: 'bpmn-icon-intermediate-event-catch-timer', target: { type: 'bpmn:BoundaryEvent', eventDefinitionType: 'bpmn:TimerEventDefinition', cancelActivity: true } }, 'escalation-boundary': { label: 'Escalation boundary event', className: 'bpmn-icon-intermediate-event-catch-escalation', target: { type: 'bpmn:BoundaryEvent', eventDefinitionType: 'bpmn:EscalationEventDefinition', cancelActivity: true } }, 'conditional-boundary': { label: 'Conditional boundary event', className: 'bpmn-icon-intermediate-event-catch-condition', target: { type: 'bpmn:BoundaryEvent', eventDefinitionType: 'bpmn:ConditionalEventDefinition', cancelActivity: true } }, 'error-boundary': { label: 'Error boundary event', className: 'bpmn-icon-intermediate-event-catch-error', target: { type: 'bpmn:BoundaryEvent', eventDefinitionType: 'bpmn:ErrorEventDefinition', cancelActivity: true } }, 'cancel-boundary': { label: 'Cancel boundary event', className: 'bpmn-icon-intermediate-event-catch-cancel', target: { type: 'bpmn:BoundaryEvent', eventDefinitionType: 'bpmn:CancelEventDefinition', cancelActivity: true } }, 'signal-boundary': { label: 'Signal boundary event', className: 'bpmn-icon-intermediate-event-catch-signal', target: { type: 'bpmn:BoundaryEvent', eventDefinitionType: 'bpmn:SignalEventDefinition', cancelActivity: true } }, 'compensation-boundary': { label: 'Compensation boundary event', className: 'bpmn-icon-intermediate-event-catch-compensation', target: { type: 'bpmn:BoundaryEvent', eventDefinitionType: 'bpmn:CompensateEventDefinition', cancelActivity: true } }, // Events boundary (non-interrupting) 'non-interrupting-message-boundary': { label: 'Message boundary event (non-interrupting)', className: 'bpmn-icon-intermediate-event-catch-non-interrupting-message', target: { type: 'bpmn:BoundaryEvent', eventDefinitionType: 'bpmn:MessageEventDefinition', cancelActivity: false } }, 'non-interrupting-timer-boundary': { label: 'Timer boundary event (non-interrupting)', className: 'bpmn-icon-intermediate-event-catch-non-interrupting-timer', target: { type: 'bpmn:BoundaryEvent', eventDefinitionType: 'bpmn:TimerEventDefinition', cancelActivity: false } }, 'non-interrupting-escalation-boundary': { label: 'Escalation boundary event (non-interrupting)', className: 'bpmn-icon-intermediate-event-catch-non-interrupting-escalation', target: { type: 'bpmn:BoundaryEvent', eventDefinitionType: 'bpmn:EscalationEventDefinition', cancelActivity: false } }, 'non-interrupting-conditional-boundary': { label: 'Conditional boundary event (non-interrupting)', className: 'bpmn-icon-intermediate-event-catch-non-interrupting-condition', target: { type: 'bpmn:BoundaryEvent', eventDefinitionType: 'bpmn:ConditionalEventDefinition', cancelActivity: false } }, 'non-interrupting-signal-boundary': { label: 'Signal boundary event (non-interrupting)', className: 'bpmn-icon-intermediate-event-catch-non-interrupting-signal', target: { type: 'bpmn:BoundaryEvent', eventDefinitionType: 'bpmn:SignalEventDefinition', cancelActivity: false } }, // Events typed end 'message-end': { label: 'Message end event', className: 'bpmn-icon-end-event-message', target: { type: 'bpmn:EndEvent', eventDefinitionType: 'bpmn:MessageEventDefinition' } }, 'escalation-end': { label: 'Escalation end event', className: 'bpmn-icon-end-event-escalation', target: { type: 'bpmn:EndEvent', eventDefinitionType: 'bpmn:EscalationEventDefinition' } }, 'error-end': { label: 'Error end event', className: 'bpmn-icon-end-event-error', target: { type: 'bpmn:EndEvent', eventDefinitionType: 'bpmn:ErrorEventDefinition' } }, 'cancel-end': { label: 'Cancel end event', className: 'bpmn-icon-end-event-cancel', target: { type: 'bpmn:EndEvent', eventDefinitionType: 'bpmn:CancelEventDefinition' } }, 'compensation-end': { label: 'Compensation end event', className: 'bpmn-icon-end-event-compensation', target: { type: 'bpmn:EndEvent', eventDefinitionType: 'bpmn:CompensateEventDefinition' } }, 'signal-end': { label: 'Signal end event', className: 'bpmn-icon-end-event-signal', target: { type: 'bpmn:EndEvent', eventDefinitionType: 'bpmn:SignalEventDefinition' } }, 'terminate-end': { label: 'Terminate end event', className: 'bpmn-icon-end-event-terminate', target: { type: 'bpmn:EndEvent', eventDefinitionType: 'bpmn:TerminateEventDefinition' } } };