{"version":3,"file":"index.mjs","sources":["../src/context/BpmnPropertiesPanelContext.js","../src/hooks/useService.js","../src/icons/index.js","../src/render/PanelHeaderProvider.js","../src/render/PanelPlaceholderProvider.js","../src/render/BpmnPropertiesPanel.js","../src/render/BpmnPropertiesPanelRenderer.js","../src/cmd/MultiCommandHandler.js","../src/cmd/index.js","../src/render/index.js","../src/entries/ReferenceSelect.js","../src/provider/bpmn/utils/EventDefinitionUtil.js","../src/provider/bpmn/properties/CompensationProps.js","../src/provider/bpmn/properties/DocumentationProps.js","../src/utils/ElementUtil.js","../src/provider/bpmn/properties/ErrorProps.js","../src/provider/bpmn/properties/EscalationProps.js","../src/provider/bpmn/properties/ExecutableProps.js","../src/provider/bpmn/utils/ValidationUtil.js","../src/provider/bpmn/properties/IdProps.js","../src/provider/bpmn/properties/LinkProps.js","../src/provider/bpmn/properties/MessageProps.js","../src/provider/bpmn/properties/MultiInstanceProps.js","../src/provider/bpmn/properties/NameProps.js","../src/provider/bpmn/properties/ProcessProps.js","../src/provider/bpmn/properties/SignalProps.js","../src/utils/EventDefinitionUtil.js","../src/provider/bpmn/properties/TimerProps.js","../src/provider/bpmn/BpmnPropertiesProvider.js","../src/provider/bpmn/index.js","../src/utils/ExtensionElementsUtil.js","../src/provider/HOCs/withVariableContext.js","../src/provider/HOCs/withTooltipContainer.js","../src/entries/FeelEntryWithContext.js","../src/provider/zeebe/properties/AssignmentDefinitionProps.js","../src/provider/zeebe/utils/ZeebeServiceTaskUtil.js","../src/provider/zeebe/utils/HeadersUtil.js","../src/provider/zeebe/properties/BusinessRuleImplementationProps.js","../src/provider/zeebe/properties/CalledDecisionProps.js","../src/provider/zeebe/properties/ConditionProps.js","../src/provider/zeebe/properties/ErrorProps.js","../src/provider/zeebe/properties/EscalationProps.js","../src/provider/zeebe/properties/FormProps.js","../src/provider/zeebe/properties/Header.js","../src/provider/zeebe/properties/HeaderProps.js","../src/provider/zeebe/utils/CalledElementUtil.js","../src/provider/zeebe/properties/InputPropagationProps.js","../src/provider/zeebe/properties/InputOutputParameter.js","../src/provider/zeebe/utils/InputOutputUtil.js","../src/provider/zeebe/properties/InputProps.js","../src/provider/zeebe/properties/MessageProps.js","../src/provider/zeebe/properties/MultiInstanceProps.js","../src/provider/zeebe/properties/OutputPropagationProps.js","../src/provider/zeebe/properties/OutputProps.js","../src/provider/zeebe/properties/ScriptImplementationProps.js","../src/provider/zeebe/properties/ScriptProps.js","../src/provider/zeebe/properties/SignalProps.js","../src/provider/zeebe/properties/TargetProps.js","../src/provider/zeebe/properties/TaskDefinitionProps.js","../src/provider/zeebe/properties/TaskScheduleProps.js","../src/provider/zeebe/utils/TimerUtil.js","../src/provider/zeebe/properties/TimerProps.js","../src/provider/shared/ExtensionProperty.js","../src/provider/shared/ExtensionPropertiesProps.js","../src/provider/zeebe/ZeebePropertiesProvider.js","../src/provider/zeebe/index.js","../src/provider/camunda-platform/properties/AsynchronousContinuationsProps.js","../src/provider/camunda-platform/properties/BusinessKeyProps.js","../src/provider/camunda-platform/properties/CalledBpmnProps.js","../src/provider/camunda-platform/properties/CalledCmmnProps.js","../src/provider/camunda-platform/properties/DelegateVariableMappingProps.js","../src/provider/camunda-platform/properties/CallActivityProps.js","../src/provider/camunda-platform/properties/CandidateStarterProps.js","../src/provider/camunda-platform/properties/ConditionProps.js","../src/provider/camunda-platform/properties/ScriptProps.js","../src/provider/camunda-platform/utils/InputOutputUtil.js","../src/provider/camunda-platform/properties/ListProps.js","../src/provider/camunda-platform/properties/MapProps.js","../src/provider/camunda-platform/properties/InputOutputParameter.js","../src/provider/camunda-platform/utils/ImplementationTypeUtils.js","../src/provider/camunda-platform/utils/ConnectorUtil.js","../src/provider/camunda-platform/properties/ConnectorInputProps.js","../src/provider/camunda-platform/properties/ConnectorOutputProps.js","../src/provider/camunda-platform/properties/ErrorProps.js","../src/provider/camunda-platform/properties/Error.js","../src/provider/camunda-platform/properties/ErrorsProps.js","../src/provider/camunda-platform/properties/EscalationProps.js","../src/provider/camunda-platform/properties/ExternalTaskPriorityProps.js","../src/provider/camunda-platform/properties/FieldInjection.js","../src/provider/camunda-platform/properties/FieldInjectionProps.js","../src/provider/camunda-platform/properties/FormFieldConstraint.js","../src/provider/camunda-platform/properties/FormFieldProperty.js","../src/provider/camunda-platform/properties/FormFieldValue.js","../src/provider/camunda-platform/properties/FormField.js","../src/provider/camunda-platform/properties/FormDataProps.js","../src/provider/camunda-platform/properties/FormTypeProps.js","../src/provider/camunda-platform/utils/FormTypeUtils.js","../src/provider/camunda-platform/properties/FormProps.js","../src/provider/camunda-platform/properties/HistoryCleanupProps.js","../src/provider/camunda-platform/properties/DmnImplementationProps.js","../src/provider/camunda-platform/properties/ImplementationTypeProps.js","../src/provider/camunda-platform/properties/ImplementationProps.js","../src/provider/camunda-platform/properties/InitiatorProps.js","../src/provider/camunda-platform/properties/InMappingPropagationProps.js","../src/provider/camunda-platform/properties/InOutMapping.js","../src/provider/camunda-platform/properties/InMappingProps.js","../src/provider/camunda-platform/properties/InputProps.js","../src/provider/camunda-platform/properties/JobExecutionProps.js","../src/provider/camunda-platform/properties/MultiInstanceProps.js","../src/provider/camunda-platform/properties/OutMappingPropagationProps.js","../src/provider/camunda-platform/properties/OutMappingProps.js","../src/provider/camunda-platform/properties/OutputProps.js","../src/provider/camunda-platform/properties/TimerProps.js","../src/provider/camunda-platform/properties/ListenerProps.js","../src/provider/camunda-platform/properties/ProcessVariablesProps.js","../src/provider/camunda-platform/properties/ScriptTaskProps.js","../src/provider/camunda-platform/properties/TasklistProps.js","../src/provider/camunda-platform/properties/UserAssignmentProps.js","../src/provider/camunda-platform/properties/VersionTagProps.js","../src/provider/camunda-platform/CamundaPlatformPropertiesProvider.js","../src/provider/camunda-platform/index.js","../src/contextProvider/zeebe/TooltipProvider.js"],"sourcesContent":["import {\n createContext\n} from 'preact';\n\nconst BpmnPropertiesPanelContext = createContext({\n selectedElement: null,\n injector: null,\n getService() { return null; }\n});\n\nexport default BpmnPropertiesPanelContext;","import {\n useContext\n} from 'preact/hooks';\n\nimport { BpmnPropertiesPanelContext } from '../context';\n\nexport function useService(type, strict) {\n const {\n getService\n } = useContext(BpmnPropertiesPanelContext);\n\n return getService(type, strict);\n}","import AssociationIcon from './bpmn-icon-association.svg';\nimport BusinessRuleTaskIcon from './bpmn-icon-business-rule-task.svg';\nimport CallActivityIcon from './bpmn-icon-call-activity.svg';\nimport CollaborationIcon from './bpmn-icon-collaboration.svg';\nimport ConditionalFlowIcon from './bpmn-icon-conditional-flow.svg';\nimport ConnectionIcon from './bpmn-icon-connection.svg';\nimport DataInputOutputAssociationIcon from './bpmn-icon-data-input-output-association.svg';\nimport DataInputIcon from './bpmn-icon-data-input.svg';\nimport DataObjectIcon from './bpmn-icon-data-object.svg';\nimport DataOutputIcon from './bpmn-icon-data-output.svg';\nimport DataStoreIcon from './bpmn-icon-data-store.svg';\nimport DefaultFlowIcon from './bpmn-icon-default-flow.svg';\nimport EndEventCancelIcon from './bpmn-icon-end-event-cancel.svg';\nimport EndEventCompensationIcon from './bpmn-icon-end-event-compensation.svg';\nimport EndEventErrorIcon from './bpmn-icon-end-event-error.svg';\nimport EndEventEscalationIcon from './bpmn-icon-end-event-escalation.svg';\nimport EndEventLinkIcon from './bpmn-icon-end-event-link.svg';\nimport EndEventMessageIcon from './bpmn-icon-end-event-message.svg';\nimport EndEventMultipleIcon from './bpmn-icon-end-event-multiple.svg';\nimport EndEventNoneIcon from './bpmn-icon-end-event-none.svg';\nimport EndEventSignalIcon from './bpmn-icon-end-event-signal.svg';\nimport EndEventTerminateIcon from './bpmn-icon-end-event-terminate.svg';\nimport EventSubProcessExpandedIcon from './bpmn-icon-event-subprocess-expanded.svg';\nimport GatewayComplexIcon from './bpmn-icon-gateway-complex.svg';\nimport GatewayEventBasedIcon from './bpmn-icon-gateway-eventbased.svg';\nimport GatewayNoneIcon from './bpmn-icon-gateway-none.svg';\nimport GatewayOrIcon from './bpmn-icon-gateway-or.svg';\nimport GatewayParallelIcon from './bpmn-icon-gateway-parallel.svg';\nimport GatewayXorIcon from './bpmn-icon-gateway-xor.svg';\nimport GroupIcon from './bpmn-icon-group.svg';\nimport IntermediateEventCatchCancelIcon from './bpmn-icon-intermediate-event-catch-cancel.svg';\nimport IntermediateEventCatchCompensationIcon from './bpmn-icon-intermediate-event-catch-compensation.svg';\nimport IntermediateEventCatchConditionIcon from './bpmn-icon-intermediate-event-catch-condition.svg';\nimport IntermediateEventCatchErrorIcon from './bpmn-icon-intermediate-event-catch-error.svg';\nimport IntermediateEventCatchEscalationIcon from './bpmn-icon-intermediate-event-catch-escalation.svg';\nimport IntermediateEventCatchLinkIcon from './bpmn-icon-intermediate-event-catch-link.svg';\nimport IntermediateEventCatchMessageIcon from './bpmn-icon-intermediate-event-catch-message.svg';\nimport IntermediateEventCatchMultipleIcon from './bpmn-icon-intermediate-event-catch-multiple.svg';\nimport IntermediateEventCatchNonInterruptingConditionIcon from './bpmn-icon-intermediate-event-catch-non-interrupting-condition.svg';\nimport IntermediateEventCatchNonInterruptingEscalationIcon from './bpmn-icon-intermediate-event-catch-non-interrupting-escalation.svg';\nimport IntermediateEventCatchNonInterruptingMessageIcon from './bpmn-icon-intermediate-event-catch-non-interrupting-message.svg';\nimport IntermediateEventCatchNonInterruptingMultipleIcon from './bpmn-icon-intermediate-event-catch-non-interrupting-multiple.svg';\nimport IntermediateEventCatchNonInterruptingParallelIcon from './bpmn-icon-intermediate-event-catch-non-interrupting-parallel.svg';\nimport IntermediateEventCatchNonInterruptingSignalIcon from './bpmn-icon-intermediate-event-catch-non-interrupting-signal.svg';\nimport IntermediateEventCatchNonInterruptingTimerIcon from './bpmn-icon-intermediate-event-catch-non-interrupting-timer.svg';\nimport IntermediateEventCatchParallelMultipleIcon from './bpmn-icon-intermediate-event-catch-parallel-multiple.svg';\nimport IntermediateEventCatchSignalIcon from './bpmn-icon-intermediate-event-catch-signal.svg';\nimport IntermediateEventCatchTimerIcon from './bpmn-icon-intermediate-event-catch-timer.svg';\nimport IntermediateEventNoneIcon from './bpmn-icon-intermediate-event-none.svg';\nimport IntermediateEventThrowCompensationIcon from './bpmn-icon-intermediate-event-throw-compensation.svg';\nimport IntermediateEventThrowEscalationIcon from './bpmn-icon-intermediate-event-throw-escalation.svg';\nimport IntermediateEventThrowLinkIcon from './bpmn-icon-intermediate-event-throw-link.svg';\nimport IntermediateEventThrowMessageIcon from './bpmn-icon-intermediate-event-throw-message.svg';\nimport IntermediateEventThrowMultipleIcon from './bpmn-icon-intermediate-event-throw-multiple.svg';\nimport IntermediateEventThrowSignalIcon from './bpmn-icon-intermediate-event-throw-signal.svg';\nimport LaneIcon from './bpmn-icon-lane.svg';\nimport ManualTaskIcon from './bpmn-icon-manual-task.svg';\nimport MessageFlowIcon from './bpmn-icon-message-flow.svg';\nimport ParticipantIcon from './bpmn-icon-participant.svg';\nimport ProcessIcon from './bpmn-icon-process.svg';\nimport ReceiveTaskIcon from './bpmn-icon-receive-task.svg';\nimport ScriptTaskIcon from './bpmn-icon-script-task.svg';\nimport SendTaskIcon from './bpmn-icon-send-task.svg';\nimport ServiceTaskIcon from './bpmn-icon-service-task.svg';\nimport StartEventCompensationIcon from './bpmn-icon-start-event-compensation.svg';\nimport StartEventConditionIcon from './bpmn-icon-start-event-condition.svg';\nimport StartEventErrorIcon from './bpmn-icon-start-event-error.svg';\nimport StartEventEscalationIcon from './bpmn-icon-start-event-escalation.svg';\nimport StartEventMessageIcon from './bpmn-icon-start-event-message.svg';\nimport StartEventMultipleIcon from './bpmn-icon-start-event-multiple.svg';\nimport StartEventNonInterruptingConditionIcon from './bpmn-icon-start-event-non-interrupting-condition.svg';\nimport StartEventNonInterruptingEscalationIcon from './bpmn-icon-start-event-non-interrupting-escalation.svg';\nimport StartEventNonInterruptingMessageIcon from './bpmn-icon-start-event-non-interrupting-message.svg';\nimport StartEventNonInterruptingMultipleIcon from './bpmn-icon-start-event-non-interrupting-multiple.svg';\nimport StartEventNonInterruptingParallelMultipleIcon from './bpmn-icon-start-event-non-interrupting-parallel-multiple.svg';\nimport StartEventNonInterruptingSignalIcon from './bpmn-icon-start-event-non-interrupting-signal.svg';\nimport StartEventNonInterruptingTimerIcon from './bpmn-icon-start-event-non-interrupting-timer.svg';\nimport StartEventNoneIcon from './bpmn-icon-start-event-none.svg';\nimport StartEventParallelMultipleIcon from './bpmn-icon-start-event-parallel-multiple.svg';\nimport StartEventSignalIcon from './bpmn-icon-start-event-signal.svg';\nimport StartEventTimerIcon from './bpmn-icon-start-event-timer.svg';\nimport SubprocessCollapsedIcon from './bpmn-icon-subprocess-collapsed.svg';\nimport SubprocessExpandedIcon from './bpmn-icon-subprocess-expanded.svg';\nimport TaskNoneIcon from './bpmn-icon-task-none.svg';\nimport TextAnnotationicon from './bpmn-icon-text-annotation.svg';\nimport TransactionIcon from './bpmn-icon-transaction.svg';\nimport UserTaskIcon from './bpmn-icon-user-task.svg';\n\nexport default {\n 'Association': AssociationIcon,\n 'BusinessRuleTask': BusinessRuleTaskIcon,\n 'CallActivity': CallActivityIcon,\n 'Collaboration': CollaborationIcon,\n 'ConditionalFlow': ConditionalFlowIcon,\n 'SequenceFlow': ConnectionIcon,\n 'DataInput': DataInputIcon,\n 'DataInputAssociation': DataInputOutputAssociationIcon,\n 'DataOutput': DataOutputIcon,\n 'DataOutputAssociation': DataInputOutputAssociationIcon,\n 'DataObjectReference': DataObjectIcon,\n 'DataStoreReference': DataStoreIcon,\n 'DefaultFlow': DefaultFlowIcon,\n 'CancelEndEvent': EndEventCancelIcon,\n 'CompensateEndEvent': EndEventCompensationIcon,\n 'ErrorEndEvent': EndEventErrorIcon,\n 'EscalationEndEvent': EndEventEscalationIcon,\n 'LinkEndEvent': EndEventLinkIcon,\n 'MessageEndEvent': EndEventMessageIcon,\n 'MultipleEndEvent': EndEventMultipleIcon,\n 'EndEvent': EndEventNoneIcon,\n 'SignalEndEvent': EndEventSignalIcon,\n 'TerminateEndEvent': EndEventTerminateIcon,\n 'EventSubProcess': EventSubProcessExpandedIcon,\n 'ComplexGateway': GatewayComplexIcon,\n 'EventBasedGateway': GatewayEventBasedIcon,\n 'ExclusiveGateway': GatewayXorIcon,\n 'Gateway': GatewayNoneIcon,\n 'InclusiveGateway': GatewayOrIcon,\n 'ParallelGateway': GatewayParallelIcon,\n 'Group': GroupIcon,\n 'CancelIntermediateCatchEvent': IntermediateEventCatchCancelIcon,\n 'CompensateIntermediateCatchEvent': IntermediateEventCatchCompensationIcon,\n 'ConditionalIntermediateCatchEvent': IntermediateEventCatchConditionIcon,\n 'ErrorIntermediateCatchEvent': IntermediateEventCatchErrorIcon,\n 'EscalationIntermediateCatchEvent': IntermediateEventCatchEscalationIcon,\n 'LinkIntermediateCatchEvent': IntermediateEventCatchLinkIcon,\n 'MessageIntermediateCatchEvent': IntermediateEventCatchMessageIcon,\n 'MultipleIntermediateCatchEvent': IntermediateEventCatchMultipleIcon,\n 'ConditionalIntermediateCatchEventNonInterrupting': IntermediateEventCatchNonInterruptingConditionIcon,\n 'EscalationIntermediateCatchEventNonInterrupting': IntermediateEventCatchNonInterruptingEscalationIcon,\n 'MessageIntermediateCatchEventNonInterrupting': IntermediateEventCatchNonInterruptingMessageIcon,\n 'MultipleIntermediateCatchEventNonInterrupting': IntermediateEventCatchNonInterruptingMultipleIcon,\n 'ParallelIntermediateCatchEventNonInterrupting': IntermediateEventCatchNonInterruptingParallelIcon,\n 'SignalIntermediateCatchEventNonInterrupting': IntermediateEventCatchNonInterruptingSignalIcon,\n 'TimerIntermediateCatchEventNonInterrupting': IntermediateEventCatchNonInterruptingTimerIcon,\n 'ParallelMultipleIntermediateCatchEvent': IntermediateEventCatchParallelMultipleIcon,\n 'SignalIntermediateCatchEvent': IntermediateEventCatchSignalIcon,\n 'TimerIntermediateCatchEvent': IntermediateEventCatchTimerIcon,\n 'IntermediateThrowEvent': IntermediateEventNoneIcon,\n 'CompensateIntermediateThrowEvent': IntermediateEventThrowCompensationIcon,\n 'EscalationIntermediateThrowEvent': IntermediateEventThrowEscalationIcon,\n 'LinkIntermediateThrowEvent': IntermediateEventThrowLinkIcon,\n 'MessageIntermediateThrowEvent': IntermediateEventThrowMessageIcon,\n 'MultipleIntermediateThrowEvent': IntermediateEventThrowMultipleIcon,\n 'SignalIntermediateThrowEvent': IntermediateEventThrowSignalIcon,\n 'Lane': LaneIcon,\n 'ManualTask': ManualTaskIcon,\n 'MessageFlow': MessageFlowIcon,\n 'Participant': ParticipantIcon,\n 'Process': ProcessIcon,\n 'ReceiveTask': ReceiveTaskIcon,\n 'ScriptTask': ScriptTaskIcon,\n 'SendTask': SendTaskIcon,\n 'ServiceTask': ServiceTaskIcon,\n 'CompensateStartEvent': StartEventCompensationIcon,\n 'ConditionalStartEvent': StartEventConditionIcon,\n 'ErrorStartEvent': StartEventErrorIcon,\n 'EscalationStartEvent': StartEventEscalationIcon,\n 'MessageStartEvent': StartEventMessageIcon,\n 'MultipleStartEvent': StartEventMultipleIcon,\n 'ConditionalStartEventNonInterrupting': StartEventNonInterruptingConditionIcon,\n 'EscalationStartEventNonInterrupting': StartEventNonInterruptingEscalationIcon,\n 'MessageStartEventNonInterrupting': StartEventNonInterruptingMessageIcon,\n 'MultipleStartEventNonInterrupting': StartEventNonInterruptingMultipleIcon,\n 'ParallelMultipleStartEventNonInterrupting': StartEventNonInterruptingParallelMultipleIcon,\n 'SignalStartEventNonInterrupting': StartEventNonInterruptingSignalIcon,\n 'TimerStartEventNonInterrupting': StartEventNonInterruptingTimerIcon,\n 'CancelBoundaryEvent': IntermediateEventCatchCancelIcon,\n 'CompensateBoundaryEvent': IntermediateEventCatchCompensationIcon,\n 'ConditionalBoundaryEvent': IntermediateEventCatchConditionIcon,\n 'ErrorBoundaryEvent': IntermediateEventCatchErrorIcon,\n 'EscalationBoundaryEvent': IntermediateEventCatchEscalationIcon,\n 'LinkBoundaryEvent': IntermediateEventCatchLinkIcon,\n 'MessageBoundaryEvent': IntermediateEventCatchMessageIcon,\n 'MultipleBoundaryEvent': IntermediateEventCatchMultipleIcon,\n 'BoundaryEvent': IntermediateEventNoneIcon,\n 'ConditionalBoundaryEventNonInterrupting': IntermediateEventCatchNonInterruptingConditionIcon,\n 'EscalationBoundaryEventNonInterrupting': IntermediateEventCatchNonInterruptingEscalationIcon,\n 'MessageBoundaryEventNonInterrupting': IntermediateEventCatchNonInterruptingMessageIcon,\n 'MultipleBoundaryEventNonInterrupting': IntermediateEventCatchNonInterruptingMultipleIcon,\n 'ParallelBoundaryEventNonInterrupting': IntermediateEventCatchNonInterruptingParallelIcon,\n 'SignalBoundaryEventNonInterrupting': IntermediateEventCatchNonInterruptingSignalIcon,\n 'TimerBoundaryEventNonInterrupting': IntermediateEventCatchNonInterruptingTimerIcon,\n 'ParallelMultipleBoundaryEvent': IntermediateEventCatchParallelMultipleIcon,\n 'SignalBoundaryEvent': IntermediateEventCatchSignalIcon,\n 'TimerBoundaryEvent': IntermediateEventCatchTimerIcon,\n 'StartEvent': StartEventNoneIcon,\n 'ParallelMultipleStartEvent': StartEventParallelMultipleIcon,\n 'SignalStartEvent': StartEventSignalIcon,\n 'TimerStartEvent': StartEventTimerIcon,\n 'CollapsedSubProcess': SubprocessCollapsedIcon,\n 'CollapsedAdHocSubProcess': SubprocessCollapsedIcon,\n 'ExpandedSubProcess': SubprocessExpandedIcon,\n 'ExpandedAdHocSubProcess': SubprocessExpandedIcon,\n 'Task': TaskNoneIcon,\n 'TextAnnotation': TextAnnotationicon,\n 'Transaction': TransactionIcon,\n 'UserTask': UserTaskIcon\n};","import {\n getLabel\n} from 'bpmn-js/lib/features/label-editing/LabelUtil';\n\nimport {\n is,\n getBusinessObject\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n isExpanded,\n isEventSubProcess,\n isInterrupting\n} from 'bpmn-js/lib/util/DiUtil';\n\nimport {\n useService\n} from '../hooks';\n\nimport iconsByType from '../icons';\n\nexport function getConcreteType(element) {\n const {\n type: elementType\n } = element;\n\n let type = getRawType(elementType);\n\n // (1) event definition types\n const eventDefinition = getEventDefinition(element);\n\n if (eventDefinition) {\n type = `${getEventDefinitionPrefix(eventDefinition)}${type}`;\n\n // (1.1) interrupting / non interrupting\n if (\n (is(element, 'bpmn:StartEvent') && !isInterrupting(element)) ||\n (is(element, 'bpmn:BoundaryEvent') && !isCancelActivity(element))\n ) {\n type = `${type}NonInterrupting`;\n }\n\n return type;\n }\n\n // (2) sub process types\n if (is(element, 'bpmn:SubProcess') && !is(element, 'bpmn:Transaction')) {\n if (isEventSubProcess(element)) {\n type = `Event${type}`;\n } else {\n const expanded = isExpanded(element) && !isPlane(element);\n type = `${expanded ? 'Expanded' : 'Collapsed'}${type}`;\n }\n }\n\n // (3) conditional + default flows\n if (isDefaultFlow(element)) {\n type = 'DefaultFlow';\n }\n\n if (isConditionalFlow(element)) {\n type = 'ConditionalFlow';\n }\n\n\n return type;\n}\n\nexport const PanelHeaderProvider = {\n\n getDocumentationRef: (element) => {\n const elementTemplates = getTemplatesService();\n\n if (elementTemplates) {\n return getTemplateDocumentation(element, elementTemplates);\n }\n },\n\n getElementLabel: (element) => {\n if (is(element, 'bpmn:Process')) {\n return getBusinessObject(element).name;\n }\n\n return getLabel(element);\n },\n\n getElementIcon: (element) => {\n const concreteType = getConcreteType(element);\n\n const elementTemplates = getTemplatesService();\n\n if (elementTemplates) {\n const template = getTemplate(element, elementTemplates);\n\n if (template && template.icon) {\n return () => ;\n }\n }\n\n return iconsByType[ concreteType ];\n },\n\n getTypeLabel: (element) => {\n const elementTemplates = getTemplatesService();\n\n if (elementTemplates) {\n const template = getTemplate(element, elementTemplates);\n\n if (template && template.name) {\n return template.name;\n }\n }\n\n const concreteType = getConcreteType(element);\n\n return concreteType\n .replace(/(\\B[A-Z])/g, ' $1')\n .replace(/(\\bNon Interrupting)/g, '($1)');\n }\n};\n\n\n// helpers ///////////////////////\n\nfunction isCancelActivity(element) {\n const businessObject = getBusinessObject(element);\n\n return businessObject && businessObject.cancelActivity !== false;\n}\n\nfunction getEventDefinition(element) {\n const businessObject = getBusinessObject(element),\n eventDefinitions = businessObject.eventDefinitions;\n\n return eventDefinitions && eventDefinitions[0];\n}\n\nfunction getRawType(type) {\n return type.split(':')[1];\n}\n\nfunction getEventDefinitionPrefix(eventDefinition) {\n const rawType = getRawType(eventDefinition.$type);\n\n return rawType.replace('EventDefinition', '');\n}\n\nfunction isDefaultFlow(element) {\n const businessObject = getBusinessObject(element);\n const sourceBusinessObject = getBusinessObject(element.source);\n\n if (!is(element, 'bpmn:SequenceFlow') || !sourceBusinessObject) {\n return false;\n }\n\n return sourceBusinessObject.default && sourceBusinessObject.default === businessObject && (\n is(sourceBusinessObject, 'bpmn:Gateway') || is(sourceBusinessObject, 'bpmn:Activity')\n );\n}\n\nfunction isConditionalFlow(element) {\n const businessObject = getBusinessObject(element);\n const sourceBusinessObject = getBusinessObject(element.source);\n\n if (!is(element, 'bpmn:SequenceFlow') || !sourceBusinessObject) {\n return false;\n }\n\n return businessObject.conditionExpression && is(sourceBusinessObject, 'bpmn:Activity');\n}\n\nfunction isPlane(element) {\n\n // Backwards compatibility for bpmn-js<8\n const di = element && (element.di || getBusinessObject(element).di);\n\n return is(di, 'bpmndi:BPMNPlane');\n}\n\nfunction getTemplatesService() {\n\n // eslint-disable-next-line react-hooks/rules-of-hooks\n return useService('elementTemplates', false);\n}\n\nfunction getTemplate(element, elementTemplates) {\n return elementTemplates.get(element);\n}\n\nfunction getTemplateDocumentation(element, elementTemplates) {\n const template = getTemplate(element, elementTemplates);\n\n return template && template.documentationRef;\n}","import EmptyIcon from '../icons/bpmn-empty-state.svg';\nimport MultipleIcon from '../icons/bpmn-multiple-state.svg';\n\nexport const PanelPlaceholderProvider = (translate) => {\n if (!translate) translate = (text) => text;\n return {\n getEmpty: () => {\n return {\n text: translate('Select an element to edit its properties.'),\n icon: EmptyIcon\n };\n },\n\n getMultiple: () => {\n return {\n text: translate('Multiple elements are selected. Select a single element to edit its properties.'),\n icon: MultipleIcon\n };\n }\n };\n};","import {\n useState,\n useMemo,\n useEffect,\n useCallback\n} from 'preact/hooks';\n\nimport {\n find,\n isArray,\n reduce\n} from 'min-dash';\n\nimport { PropertiesPanel } from '@bpmn-io/properties-panel';\n\nimport {\n BpmnPropertiesPanelContext\n} from '../context';\n\nimport { PanelHeaderProvider } from './PanelHeaderProvider';\nimport { PanelPlaceholderProvider } from './PanelPlaceholderProvider';\n\n/**\n * @param {Object} props\n * @param {djs.model.Base|Array} [props.element]\n * @param {Injector} props.injector\n * @param { (djs.model.Base) => Array } props.getProviders\n * @param {Object} props.layoutConfig\n * @param {Object} props.descriptionConfig\n * @param {Object} props.tooltipConfig\n */\nexport default function BpmnPropertiesPanel(props) {\n const {\n element,\n injector,\n getProviders,\n layoutConfig: initialLayoutConfig,\n descriptionConfig,\n tooltipConfig,\n feelPopupContainer\n } = props;\n\n const canvas = injector.get('canvas');\n const elementRegistry = injector.get('elementRegistry');\n const eventBus = injector.get('eventBus');\n const translate = injector.get('translate');\n\n const [ state, setState ] = useState({\n selectedElement: element\n });\n\n const selectedElement = state.selectedElement;\n\n /**\n * @param {djs.model.Base | Array} element\n */\n const _update = (element) => {\n\n if (!element) {\n return;\n }\n\n let newSelectedElement = element;\n\n // handle labels\n if (newSelectedElement && newSelectedElement.type === 'label') {\n newSelectedElement = newSelectedElement.labelTarget;\n }\n\n setState({\n ...state,\n selectedElement: newSelectedElement\n });\n\n // notify interested parties on property panel updates\n eventBus.fire('propertiesPanel.updated', {\n element: newSelectedElement\n });\n };\n\n // (2) react on element changes\n\n // (2a) selection changed\n useEffect(() => {\n const onSelectionChanged = (e) => {\n const { newSelection = [] } = e;\n\n if (newSelection.length > 1) {\n return _update(newSelection);\n }\n\n const newElement = newSelection[0];\n\n const rootElement = canvas.getRootElement();\n\n if (isImplicitRoot(rootElement)) {\n return;\n }\n\n _update(newElement || rootElement);\n };\n\n eventBus.on('selection.changed', onSelectionChanged);\n\n return () => {\n eventBus.off('selection.changed', onSelectionChanged);\n };\n }, []);\n\n // (2b) selected element changed\n useEffect(() => {\n const onElementsChanged = (e) => {\n const elements = e.elements;\n\n const updatedElement = findElement(elements, selectedElement);\n\n if (updatedElement && elementExists(updatedElement, elementRegistry)) {\n _update(updatedElement);\n }\n };\n\n eventBus.on('elements.changed', onElementsChanged);\n\n return () => {\n eventBus.off('elements.changed', onElementsChanged);\n };\n }, [ selectedElement ]);\n\n // (2c) root element changed\n useEffect(() => {\n const onRootAdded = (e) => {\n const element = e.element;\n\n _update(element);\n };\n\n eventBus.on('root.added', onRootAdded);\n\n return () => {\n eventBus.off('root.added', onRootAdded);\n };\n }, [ selectedElement ]);\n\n // (2d) provided entries changed\n useEffect(() => {\n const onProvidersChanged = () => {\n _update(selectedElement);\n };\n\n eventBus.on('propertiesPanel.providersChanged', onProvidersChanged);\n\n return () => {\n eventBus.off('propertiesPanel.providersChanged', onProvidersChanged);\n };\n }, [ selectedElement ]);\n\n // (2e) element templates changed\n useEffect(() => {\n const onTemplatesChanged = () => {\n _update(selectedElement);\n };\n\n eventBus.on('elementTemplates.changed', onTemplatesChanged);\n\n return () => {\n eventBus.off('elementTemplates.changed', onTemplatesChanged);\n };\n }, [ selectedElement ]);\n\n // (3) create properties panel context\n const bpmnPropertiesPanelContext = {\n selectedElement,\n injector,\n getService(type, strict) { return injector.get(type, strict); }\n };\n\n // (4) retrieve groups for selected element\n const providers = getProviders(selectedElement);\n\n const groups = useMemo(() => {\n return reduce(providers, function(groups, provider) {\n\n // do not collect groups for multi element state\n if (isArray(selectedElement)) {\n return [];\n }\n\n const updater = provider.getGroups(selectedElement);\n\n return updater(groups);\n }, []);\n }, [ providers, selectedElement ]);\n\n // (5) notify layout changes\n const [ layoutConfig, setLayoutConfig ] = useState(initialLayoutConfig || {});\n\n const onLayoutChanged = useCallback((newLayout) => {\n eventBus.fire('propertiesPanel.layoutChanged', {\n layout: newLayout\n });\n }, [ eventBus ]);\n\n // React to external layout changes\n useEffect(() => {\n const cb = (e) => {\n const { layout } = e;\n setLayoutConfig(layout);\n };\n\n eventBus.on('propertiesPanel.setLayout', cb);\n return () => eventBus.off('propertiesPanel.setLayout', cb);\n }, [ eventBus, setLayoutConfig ]);\n\n // (6) notify description changes\n const onDescriptionLoaded = (description) => {\n eventBus.fire('propertiesPanel.descriptionLoaded', {\n description\n });\n };\n\n // (7) notify tooltip changes\n const onTooltipLoaded = (tooltip) => {\n eventBus.fire('propertiesPanel.tooltipLoaded', {\n tooltip\n });\n };\n\n return \n \n ;\n}\n\n\n// helpers //////////////////////////\n\nfunction isImplicitRoot(element) {\n\n // Backwards compatibility for diagram-js<7.4.0, see https://github.com/bpmn-io/bpmn-properties-panel/pull/102\n return element && (element.isImplicit || element.id === '__implicitroot');\n}\n\nfunction findElement(elements, element) {\n return find(elements, (e) => e === element);\n}\n\nfunction elementExists(element, elementRegistry) {\n return element && elementRegistry.get(element.id);\n}\n","import BpmnPropertiesPanel from './BpmnPropertiesPanel';\n\nimport {\n isUndo,\n isRedo\n} from 'diagram-js/lib/features/keyboard/KeyboardUtil';\n\nimport {\n render\n} from 'preact';\n\nimport {\n domify,\n query as domQuery,\n event as domEvent\n} from 'min-dom';\n\nconst DEFAULT_PRIORITY = 1000;\n\n/**\n * @typedef { import('@bpmn-io/properties-panel').GroupDefinition } GroupDefinition\n * @typedef { import('@bpmn-io/properties-panel').ListGroupDefinition } ListGroupDefinition\n * @typedef { { getGroups: (ModdleElement) => (Array{GroupDefinition|ListGroupDefinition}) => Array{GroupDefinition|ListGroupDefinition}) } PropertiesProvider\n */\n\nexport default class BpmnPropertiesPanelRenderer {\n\n constructor(config, injector, eventBus) {\n const {\n parent,\n layout: layoutConfig,\n description: descriptionConfig,\n tooltip: tooltipConfig,\n feelPopupContainer\n } = config || {};\n\n this._eventBus = eventBus;\n this._injector = injector;\n this._layoutConfig = layoutConfig;\n this._descriptionConfig = descriptionConfig;\n this._tooltipConfig = tooltipConfig;\n this._feelPopupContainer = feelPopupContainer;\n\n this._container = domify(\n '
'\n );\n\n var commandStack = injector.get('commandStack', false);\n\n commandStack && setupKeyboard(this._container, eventBus, commandStack);\n\n eventBus.on('diagram.init', () => {\n if (parent) {\n this.attachTo(parent);\n }\n });\n\n eventBus.on('diagram.destroy', () => {\n this.detach();\n });\n\n eventBus.on('root.added', (event) => {\n const { element } = event;\n\n this._render(element);\n });\n }\n\n\n /**\n * Attach the properties panel to a parent node.\n *\n * @param {HTMLElement} container\n */\n attachTo(container) {\n if (!container) {\n throw new Error('container required');\n }\n\n // unwrap jQuery if provided\n if (container.get && container.constructor.prototype.jquery) {\n container = container.get(0);\n }\n\n if (typeof container === 'string') {\n container = domQuery(container);\n }\n\n // (1) detach from old parent\n this.detach();\n\n // (2) append to parent container\n container.appendChild(this._container);\n\n // (3) notify interested parties\n this._eventBus.fire('propertiesPanel.attach');\n }\n\n /**\n * Detach the properties panel from its parent node.\n */\n detach() {\n const parentNode = this._container.parentNode;\n\n if (parentNode) {\n parentNode.removeChild(this._container);\n\n this._eventBus.fire('propertiesPanel.detach');\n }\n }\n\n /**\n * Register a new properties provider to the properties panel.\n *\n * @param {Number} [priority]\n * @param {PropertiesProvider} provider\n */\n registerProvider(priority, provider) {\n\n if (!provider) {\n provider = priority;\n priority = DEFAULT_PRIORITY;\n }\n\n if (typeof provider.getGroups !== 'function') {\n console.error(\n 'Properties provider does not implement #getGroups(element) API'\n );\n\n return;\n }\n\n this._eventBus.on('propertiesPanel.getProviders', priority, function(event) {\n event.providers.push(provider);\n });\n\n this._eventBus.fire('propertiesPanel.providersChanged');\n }\n\n /**\n * Updates the layout of the properties panel.\n * @param {Object} layout\n */\n setLayout(layout) {\n this._eventBus.fire('propertiesPanel.setLayout', { layout });\n }\n\n _getProviders() {\n const event = this._eventBus.createEvent({\n type: 'propertiesPanel.getProviders',\n providers: []\n });\n\n this._eventBus.fire(event);\n\n return event.providers;\n }\n\n _render(element) {\n const canvas = this._injector.get('canvas');\n\n if (!element) {\n element = canvas.getRootElement();\n }\n\n if (isImplicitRoot(element)) {\n return;\n }\n\n render(\n ,\n this._container\n );\n\n this._eventBus.fire('propertiesPanel.rendered');\n }\n\n _destroy() {\n if (this._container) {\n render(null, this._container);\n\n this._eventBus.fire('propertiesPanel.destroyed');\n }\n }\n}\n\nBpmnPropertiesPanelRenderer.$inject = [ 'config.propertiesPanel', 'injector', 'eventBus' ];\n\n\n// helpers ///////////////////////\n\nfunction isImplicitRoot(element) {\n\n // Backwards compatibility for diagram-js<7.4.0, see https://github.com/bpmn-io/bpmn-properties-panel/pull/102\n return element && (element.isImplicit || element.id === '__implicitroot');\n}\n\n/**\n * Setup keyboard bindings (undo, redo) on the given container.\n *\n * @param {Element} container\n * @param {EventBus} eventBus\n * @param {CommandStack} commandStack\n */\nfunction setupKeyboard(container, eventBus, commandStack) {\n\n function cancel(event) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n function handleKeys(event) {\n\n if (isUndo(event)) {\n commandStack.undo();\n\n return cancel(event);\n }\n\n if (isRedo(event)) {\n commandStack.redo();\n\n return cancel(event);\n }\n }\n\n eventBus.on('keyboard.bind', function() {\n domEvent.bind(container, 'keydown', handleKeys);\n });\n\n eventBus.on('keyboard.unbind', function() {\n domEvent.unbind(container, 'keydown', handleKeys);\n });\n}","import {\n forEach\n} from 'min-dash';\n\n/**\n * A handler that combines and executes multiple commands.\n *\n * All updates are bundled on the command stack and executed in one step.\n * This also makes it possible to revert the changes in one step.\n *\n * Example use case: remove the camunda:formKey attribute and in addition\n * add all form fields needed for the camunda:formData property.\n */\nexport default class MultiCommandHandler {\n constructor(commandStack) {\n this._commandStack = commandStack;\n }\n\n preExecute(context) {\n const commandStack = this._commandStack;\n\n forEach(context, function(command) {\n commandStack.execute(command.cmd, command.context);\n });\n }\n}\n\nMultiCommandHandler.$inject = [ 'commandStack' ];","import {\n forEach\n} from 'min-dash';\n\nimport MultiCommandHandler from './MultiCommandHandler';\n\nconst HANDLERS = {\n 'properties-panel.multi-command-executor': MultiCommandHandler\n};\n\n\nfunction CommandInitializer(eventBus, commandStack) {\n\n eventBus.on('diagram.init', function() {\n forEach(HANDLERS, function(handler, id) {\n commandStack.registerHandler(id, handler);\n });\n });\n}\n\nCommandInitializer.$inject = [ 'eventBus', 'commandStack' ];\n\nexport default {\n __init__: [ CommandInitializer ]\n};","import BpmnPropertiesPanelRenderer from './BpmnPropertiesPanelRenderer';\n\nimport Commands from '../cmd';\nimport { DebounceInputModule, FeelPopupModule } from '@bpmn-io/properties-panel';\n\nexport default {\n __depends__: [\n Commands,\n DebounceInputModule,\n FeelPopupModule\n ],\n __init__: [\n 'propertiesPanel'\n ],\n propertiesPanel: [ 'type', BpmnPropertiesPanelRenderer ]\n};","import {\n useEffect\n} from 'preact/hooks';\n\nimport {\n query as domQuery\n} from 'min-dom';\n\nimport {\n SelectEntry,\n usePrevious\n} from '@bpmn-io/properties-panel';\n\n\nexport default function ReferenceSelectEntry(props) {\n const {\n autoFocusEntry,\n element,\n getOptions\n } = props;\n\n const options = getOptions(element);\n const prevOptions = usePrevious(options);\n\n // auto focus specifc other entry when options changed\n useEffect(() => {\n if (autoFocusEntry && prevOptions && options.length > prevOptions.length) {\n\n const entry = domQuery(`[data-entry-id=\"${autoFocusEntry}\"]`);\n\n const focusableInput = domQuery('.bio-properties-panel-input', entry);\n\n if (focusableInput) {\n focusableInput.select();\n }\n }\n }, [ options ]);\n\n return (\n \n );\n}","import {\n isAny\n} from 'bpmn-js/lib/features/modeling/util/ModelingUtil';\n\nimport {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n find\n} from 'min-dash';\n\nexport function isErrorSupported(element) {\n return isAny(element, [\n 'bpmn:StartEvent',\n 'bpmn:BoundaryEvent',\n 'bpmn:EndEvent'\n ]) && !!getErrorEventDefinition(element);\n}\n\nexport function getErrorEventDefinition(element) {\n return getEventDefinition(element, 'bpmn:ErrorEventDefinition');\n}\n\nexport function isTimerSupported(element) {\n return isAny(element, [\n 'bpmn:StartEvent',\n 'bpmn:IntermediateCatchEvent',\n 'bpmn:BoundaryEvent'\n ]) && !!getTimerEventDefinition(element);\n}\n\n/**\n * Get the timer definition type for a given timer event definition.\n *\n * @param {ModdleElement} timer\n *\n * @return {string|undefined} the timer definition type\n */\nexport function getTimerDefinitionType(timer) {\n\n if (!timer) {\n return;\n }\n\n const timeDate = timer.get('timeDate');\n if (typeof timeDate !== 'undefined') {\n return 'timeDate';\n }\n\n const timeCycle = timer.get('timeCycle');\n if (typeof timeCycle !== 'undefined') {\n return 'timeCycle';\n }\n\n const timeDuration = timer.get('timeDuration');\n if (typeof timeDuration !== 'undefined') {\n return 'timeDuration';\n }\n}\n\nexport function getTimerEventDefinition(element) {\n return getEventDefinition(element, 'bpmn:TimerEventDefinition');\n}\n\nexport function getError(element) {\n const errorEventDefinition = getErrorEventDefinition(element);\n\n return errorEventDefinition && errorEventDefinition.get('errorRef');\n}\n\nexport function getEventDefinition(element, eventType) {\n const businessObject = getBusinessObject(element);\n\n const eventDefinitions = businessObject.get('eventDefinitions') || [];\n\n return find(eventDefinitions, function(definition) {\n return is(definition, eventType);\n });\n}\n\nexport function isMessageSupported(element) {\n return is(element, 'bpmn:ReceiveTask') || (\n isAny(element, [\n 'bpmn:StartEvent',\n 'bpmn:EndEvent',\n 'bpmn:IntermediateThrowEvent',\n 'bpmn:BoundaryEvent',\n 'bpmn:IntermediateCatchEvent'\n ]) && !!getMessageEventDefinition(element)\n );\n}\n\nexport function getMessageEventDefinition(element) {\n if (is(element, 'bpmn:ReceiveTask')) {\n return getBusinessObject(element);\n }\n\n return getEventDefinition(element, 'bpmn:MessageEventDefinition');\n}\n\nexport function getMessage(element) {\n const messageEventDefinition = getMessageEventDefinition(element);\n\n return messageEventDefinition && messageEventDefinition.get('messageRef');\n}\n\nexport function getLinkEventDefinition(element) {\n return getEventDefinition(element, 'bpmn:LinkEventDefinition');\n}\n\nexport function getSignalEventDefinition(element) {\n return getEventDefinition(element, 'bpmn:SignalEventDefinition');\n}\n\nexport function isLinkSupported(element) {\n return isAny(element, [\n 'bpmn:IntermediateThrowEvent',\n 'bpmn:IntermediateCatchEvent'\n ]) && !!getLinkEventDefinition(element);\n}\n\nexport function isSignalSupported(element) {\n return is(element, 'bpmn:Event') && !!getSignalEventDefinition(element);\n}\n\nexport function getSignal(element) {\n const signalEventDefinition = getSignalEventDefinition(element);\n\n return signalEventDefinition && signalEventDefinition.get('signalRef');\n}\n\nexport function getEscalationEventDefinition(element) {\n return getEventDefinition(element, 'bpmn:EscalationEventDefinition');\n}\n\nexport function isEscalationSupported(element) {\n return is(element, 'bpmn:Event') && !!getEscalationEventDefinition(element);\n}\n\nexport function getEscalation(element) {\n const escalationEventDefinition = getEscalationEventDefinition(element);\n\n return escalationEventDefinition && escalationEventDefinition.get('escalationRef');\n}\n\nexport function isCompensationSupported(element) {\n return isAny(element, [\n 'bpmn:EndEvent',\n 'bpmn:IntermediateThrowEvent'\n ]) && !!getCompensateEventDefinition(element);\n}\n\nexport function getCompensateEventDefinition(element) {\n return getEventDefinition(element, 'bpmn:CompensateEventDefinition');\n}\n\nexport function getCompensateActivity(element) {\n const compensateEventDefinition = getCompensateEventDefinition(element);\n\n return compensateEventDefinition && compensateEventDefinition.get('activityRef');\n}\n","import {\n find,\n sortBy\n} from 'min-dash';\n\nimport {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n isSelectEntryEdited,\n isCheckboxEntryEdited,\n CheckboxEntry\n} from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport ReferenceSelect from '../../../entries/ReferenceSelect';\n\nimport {\n getCompensateActivity,\n getCompensateEventDefinition,\n isCompensationSupported\n} from '../utils/EventDefinitionUtil';\n\n/**\n * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry\n */\n\n/**\n * @returns {Array} entries\n */\nexport function CompensationProps(props) {\n const {\n element\n } = props;\n\n if (!isCompensationSupported(element)) {\n return [];\n }\n\n return [\n {\n id: 'waitForCompletion',\n component: WaitForCompletion,\n isEdited: isCheckboxEntryEdited\n },\n {\n id: 'activityRef',\n component: ActivityRef,\n isEdited: isSelectEntryEdited\n }\n ];\n}\n\nfunction WaitForCompletion(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const compensateEventDefinition = getCompensateEventDefinition(element);\n\n const getValue = () => {\n return compensateEventDefinition.get('waitForCompletion');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: compensateEventDefinition,\n properties: {\n waitForCompletion: value\n }\n });\n };\n\n return CheckboxEntry({\n element,\n id: 'waitForCompletion',\n label: translate('Wait for completion'),\n getValue,\n setValue\n });\n}\n\nfunction ActivityRef(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const elementRegistry = useService('elementRegistry');\n const translate = useService('translate');\n\n const compensateEventDefinition = getCompensateEventDefinition(element);\n\n const getValue = () => {\n const activityRef = getCompensateActivity(element);\n\n return activityRef && activityRef.get('id');\n };\n\n const setValue = (value) => {\n\n // update (or remove) activityRef\n const activityRef = value ? getBusinessObject(elementRegistry.get(value)) : undefined;\n\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: compensateEventDefinition,\n properties: {\n activityRef\n }\n });\n };\n\n const getOptions = () => {\n\n let options = [\n { value: '', label: translate('') },\n ];\n\n const activities = findActivityRefs(element);\n\n sortByName(activities).forEach(function(activity) {\n options.push({\n value: activity.id,\n label: createOptionLabel(activity)\n });\n });\n\n return options;\n };\n\n return ReferenceSelect({\n element,\n id: 'activityRef',\n label: translate('Activity reference'),\n getValue,\n setValue,\n getOptions\n });\n}\n\n\n// helper /////////////////////////\n\nfunction getFlowElements(element, type) {\n const { flowElements } = element;\n return flowElements.filter(function(flowElement) {\n return is(flowElement, type);\n });\n}\n\nfunction getContainedActivities(element) {\n return getFlowElements(element, 'bpmn:Activity');\n}\n\nfunction getContainedBoundaryEvents(element) {\n return getFlowElements(element, 'bpmn:BoundaryEvent');\n}\n\n/**\n * Checks whether an Activity is attaching a CompensateEvent of the parent container.\n *\n * @param {ModdleElement} activity\n * @param {Array} boundaryEvents\n * @returns {Boolean}\n */\nfunction hasCompensationEventAttached(activity, boundaryEvents) {\n const { id: activityId } = activity;\n\n return !!find(boundaryEvents, function(boundaryEvent) {\n const { attachedToRef } = boundaryEvent;\n const compensateEventDefinition = getCompensateEventDefinition(boundaryEvent);\n\n return attachedToRef && compensateEventDefinition && attachedToRef.id === activityId;\n });\n}\n\n/**\n * Checks whether an Activity can be compensated. That's the case when it is\n * a) a CallActivity\n * b) a SubProcess, when it is not event based and not a compensation\n * c) any other Activity, when it is attaching a CompensateEvent of the parent container\n *\n * @param {ModdleElement} activity\n * @param {Array} boundaryEvents\n * @returns {Boolean}\n */\nfunction canBeCompensated(activity, boundaryEvents) {\n return is(activity, 'bpmn:CallActivity') ||\n (is(activity, 'bpmn:SubProcess') && !activity.triggeredByEvent && !activity.isForCompensation) ||\n hasCompensationEventAttached(activity, boundaryEvents);\n}\n\nfunction getActivitiesForCompensation(element) {\n const activities = getContainedActivities(element);\n const boundaryEvents = getContainedBoundaryEvents(element);\n\n return activities.filter(function(activity) {\n return canBeCompensated(activity, boundaryEvents);\n });\n}\n\n/**\n * Retrieves all possible activities to reference for a Compensation.\n *\n * @param {djs.model.Base} element\n * @returns {Array}\n */\nfunction findActivityRefs(element) {\n const businessObject = getBusinessObject(element);\n\n let parent = businessObject.$parent;\n\n // (1) get all activities in parent container\n let activities = getActivitiesForCompensation(parent);\n\n // (2) if throwing compensation event is inside an EventSubProcess,\n // also get all activities outside of the event sub process\n if (is(parent, 'bpmn:SubProcess') && parent.triggeredByEvent) {\n parent = parent.$parent;\n if (parent) {\n activities = [\n ...activities,\n ...getActivitiesForCompensation(parent)\n ];\n }\n\n }\n\n return activities;\n}\n\n/**\n * Retrieves an option label in the form\n * a) with name: \"my Task (id=Task_1)\"\n * b) without name: \"(id=Task_1)\"\n *\n * @param {ModdleElement} activity\n * @returns {String}\n */\nfunction createOptionLabel(activity) {\n const { id, name } = activity;\n\n return `${name ? name + ' ' : ''}(id=${id})`;\n}\n\nfunction sortByName(elements) {\n return sortBy(elements, e => (e.name || '').toLowerCase());\n}\n","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n TextAreaEntry,\n isTextAreaEntryEdited\n} from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport { without } from 'min-dash';\n\nconst DOCUMENTATION_TEXT_FORMAT = 'text/plain';\n\n\n/**\n * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry\n */\n\n/**\n * @returns {Array} entries\n */\nexport function DocumentationProps(props) {\n const {\n element\n } = props;\n\n const entries = [\n {\n id: 'documentation',\n component: ElementDocumentationProperty,\n isEdited: isTextAreaEntryEdited\n }\n ];\n\n if (hasProcessRef(element)) {\n entries.push({\n id: 'processDocumentation',\n component: ProcessDocumentationProperty,\n isEdited: isTextAreaEntryEdited\n });\n }\n\n return entries;\n}\n\nfunction ElementDocumentationProperty(props) {\n const {\n element\n } = props;\n\n const bpmnFactory = useService('bpmnFactory');\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = getDocumentation(getBusinessObject(element));\n\n const setValue =\n setDocumentation(element, getBusinessObject(element), bpmnFactory, commandStack);\n\n return TextAreaEntry({\n element,\n id: 'documentation',\n label: translate('Element documentation'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction ProcessDocumentationProperty(props) {\n const {\n element\n } = props;\n\n const bpmnFactory = useService('bpmnFactory');\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const processRef = getBusinessObject(element).processRef;\n\n const getValue = getDocumentation(processRef);\n\n const setValue =\n setDocumentation(element, processRef, bpmnFactory, commandStack);\n\n return TextAreaEntry({\n element,\n id: 'processDocumentation',\n label: translate('Process documentation'),\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper ////////////////////////////\n\nfunction hasProcessRef(element) {\n return is(element, 'bpmn:Participant') && element.businessObject.get('processRef');\n}\n\nfunction findDocumentation(docs) {\n return docs.find(function(d) {\n return (d.textFormat || DOCUMENTATION_TEXT_FORMAT) === DOCUMENTATION_TEXT_FORMAT;\n });\n}\n\n/**\n * Retrieves a documentation element from a given moddle element.\n *\n * @param {ModdleElement} businessObject\n *\n * @returns {ModdleElement} documentation element inside the given moddle element.\n */\nfunction getDocumentation(businessObject) {\n return function() {\n const documentation = findDocumentation(\n businessObject && businessObject.get('documentation')\n );\n\n return documentation && documentation.text;\n };\n}\n\n/**\n * Sets a documentation element for a given moddle element.\n *\n * @param {ModdleElement} businessObject\n */\nfunction setDocumentation(element, businessObject, bpmnFactory, commandStack) {\n return function(value) {\n\n let documentation = findDocumentation(\n businessObject && businessObject.get('documentation')\n );\n\n // (1) update or removing existing documentation\n if (documentation) {\n\n if (value) {\n return commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: documentation,\n properties: {\n text: value\n }\n });\n } else {\n return commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n documentation: without(businessObject.get('documentation'), documentation)\n }\n });\n }\n }\n\n // (2) create new documentation entry\n if (value) {\n documentation = bpmnFactory.create('bpmn:Documentation', {\n text: value\n });\n\n return commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n documentation: [ ...businessObject.get('documentation'), documentation ]\n }\n });\n }\n };\n}","import Ids from 'ids';\n\nimport {\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\n/**\n * Create a new element and set its parent.\n *\n * @param {String} elementType of the new element\n * @param {Object} properties of the new element in key-value pairs\n * @param {moddle.object} parent of the new element\n * @param {BpmnFactory} factory which creates the new element\n *\n * @returns {djs.model.Base} element which is created\n */\nexport function createElement(elementType, properties, parent, factory) {\n const element = factory.create(elementType, properties);\n\n if (parent) {\n element.$parent = parent;\n }\n\n return element;\n}\n\n/**\n * generate a semantic id with given prefix\n */\nexport function nextId(prefix) {\n const ids = new Ids([ 32,32,1 ]);\n\n return ids.nextPrefixed(prefix);\n}\n\nexport function getRoot(businessObject) {\n let parent = businessObject;\n\n while (parent.$parent) {\n parent = parent.$parent;\n }\n\n return parent;\n}\n\nexport function filterElementsByType(objectList, type) {\n const list = objectList || [];\n\n return list.filter(element => is(element, type));\n}\n\nexport function findRootElementsByType(businessObject, referencedType) {\n const root = getRoot(businessObject);\n\n return filterElementsByType(root.get('rootElements'), referencedType);\n}\n\nexport function findRootElementById(businessObject, type, id) {\n const elements = findRootElementsByType(businessObject, type);\n\n return elements.find(element => element.id === id);\n}\n","import {\n getBusinessObject\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n sortBy\n} from 'min-dash';\n\nimport {\n TextFieldEntry,\n isSelectEntryEdited,\n isTextFieldEntryEdited\n} from '@bpmn-io/properties-panel';\n\nimport ReferenceSelect from '../../../entries/ReferenceSelect';\n\nimport { useService } from '../../../hooks';\n\nimport {\n getError,\n getErrorEventDefinition,\n isErrorSupported\n} from '../utils/EventDefinitionUtil';\n\nimport {\n createElement,\n findRootElementById,\n findRootElementsByType,\n getRoot,\n nextId\n} from '../../../utils/ElementUtil';\n\nexport const EMPTY_OPTION = '';\nexport const CREATE_NEW_OPTION = 'create-new';\n\n\n/**\n * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry\n */\n\n/**\n * @returns {Array} entries\n */\nexport function ErrorProps(props) {\n const {\n element\n } = props;\n\n if (!isErrorSupported(element)) {\n return [];\n }\n\n const error = getError(element);\n\n let entries = [\n {\n id: 'errorRef',\n component: ErrorRef,\n isEdited: isSelectEntryEdited\n }\n ];\n\n if (error) {\n entries = [\n ...entries,\n {\n id: 'errorName',\n component: ErrorName,\n isEdited: isTextFieldEntryEdited\n },\n {\n id: 'errorCode',\n component: ErrorCode,\n isEdited: isTextFieldEntryEdited\n }\n ];\n }\n\n return entries;\n}\n\nfunction ErrorRef(props) {\n const { element } = props;\n\n const bpmnFactory = useService('bpmnFactory');\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const errorEventDefinition = getErrorEventDefinition(element);\n\n const getValue = () => {\n const error = getError(element);\n\n if (error) {\n return error.get('id');\n }\n\n return EMPTY_OPTION;\n };\n\n const setValue = (value) => {\n const root = getRoot(errorEventDefinition);\n const commands = [];\n\n let error;\n\n // (1) create new error\n if (value === CREATE_NEW_OPTION) {\n error = createElement(\n 'bpmn:Error',\n { name: nextId('Error_') },\n root,\n bpmnFactory\n );\n\n value = error.get('id');\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: root,\n properties: {\n rootElements: [ ...root.get('rootElements'), error ]\n }\n }\n });\n }\n\n // (2) update (or remove) errorRef\n error = error || findRootElementById(errorEventDefinition, 'bpmn:Error', value);\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: errorEventDefinition,\n properties: {\n errorRef: error\n }\n }\n });\n\n // (3) commit all updates\n return commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n const getOptions = () => {\n\n let options = [\n { value: EMPTY_OPTION, label: translate('') },\n { value: CREATE_NEW_OPTION, label: translate('Create new ...') }\n ];\n\n const errors = findRootElementsByType(getBusinessObject(element), 'bpmn:Error');\n\n sortByName(errors).forEach(error => {\n options.push({\n value: error.get('id'),\n label: error.get('name')\n });\n });\n\n return options;\n };\n\n return ReferenceSelect({\n element,\n id: 'errorRef',\n label: translate('Global error reference'),\n autoFocusEntry: 'errorName',\n getValue,\n setValue,\n getOptions\n });\n}\n\nfunction ErrorName(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const error = getError(element);\n\n const getValue = () => {\n return error.get('name');\n };\n\n const setValue = (value) => {\n return commandStack.execute(\n 'element.updateModdleProperties',\n {\n element,\n moddleElement: error,\n properties: {\n name: value\n }\n }\n );\n };\n\n return TextFieldEntry({\n element,\n id: 'errorName',\n label: translate('Name'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction ErrorCode(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const error = getError(element);\n\n const getValue = () => {\n return error.get('errorCode');\n };\n\n const setValue = (value) => {\n return commandStack.execute(\n 'element.updateModdleProperties',\n {\n element,\n moddleElement: error,\n properties: {\n errorCode: value\n }\n }\n );\n };\n\n return TextFieldEntry({\n element,\n id: 'errorCode',\n label: translate('Code'),\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper /////////////////////////\n\nfunction sortByName(elements) {\n return sortBy(elements, e => (e.name || '').toLowerCase());\n}","import {\n getBusinessObject\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n sortBy\n} from 'min-dash';\n\nimport {\n TextFieldEntry,\n isTextFieldEntryEdited,\n isSelectEntryEdited\n} from '@bpmn-io/properties-panel';\nimport ReferenceSelect from '../../../entries/ReferenceSelect';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n getEscalation,\n getEscalationEventDefinition,\n isEscalationSupported\n} from '../utils/EventDefinitionUtil';\n\nimport {\n createElement,\n findRootElementById,\n findRootElementsByType,\n getRoot,\n nextId\n} from '../../../utils/ElementUtil';\n\nconst CREATE_NEW_OPTION = 'create-new';\n\n\n/**\n * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry\n */\n\n/**\n * @returns {Array} entries\n */\nexport function EscalationProps(props) {\n const {\n element\n } = props;\n\n if (!isEscalationSupported(element)) {\n return [];\n }\n\n const escalation = getEscalation(element);\n\n let entries = [\n {\n id: 'escalationRef',\n component: EscalationRef,\n isEdited: isSelectEntryEdited\n }\n ];\n\n if (escalation) {\n entries = [\n ...entries,\n {\n id: 'escalationName',\n component: EscalationName,\n isEdited: isTextFieldEntryEdited\n },\n {\n id: 'escalationCode',\n component: EscalationCode,\n isEdited: isTextFieldEntryEdited\n }\n ];\n }\n\n return entries;\n}\n\nfunction EscalationRef(props) {\n const { element } = props;\n\n const bpmnFactory = useService('bpmnFactory');\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const escalationEventDefinition = getEscalationEventDefinition(element);\n\n const getValue = () => {\n const escalation = getEscalation(element);\n\n return escalation && escalation.get('id');\n };\n\n const setValue = (value) => {\n const root = getRoot(escalationEventDefinition);\n const commands = [];\n\n let escalation;\n\n // (1) create new escalation\n if (value === CREATE_NEW_OPTION) {\n const id = nextId('Escalation_');\n\n escalation = createElement(\n 'bpmn:Escalation',\n { id, name: id },\n root,\n bpmnFactory\n );\n\n value = escalation.get('id');\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: root,\n properties: {\n rootElements: [ ...root.get('rootElements'), escalation ]\n }\n }\n });\n }\n\n // (2) update (or remove) escalationRef\n escalation = escalation || findRootElementById(escalationEventDefinition, 'bpmn:Escalation', value);\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: escalationEventDefinition,\n properties: {\n escalationRef: escalation\n }\n }\n });\n\n // (3) commit all updates\n return commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n const getOptions = () => {\n\n let options = [\n { value: '', label: translate('') },\n { value: CREATE_NEW_OPTION, label: translate('Create new ...') }\n ];\n\n const escalations = findRootElementsByType(getBusinessObject(element), 'bpmn:Escalation');\n\n sortByName(escalations).forEach(escalation => {\n options.push({\n value: escalation.get('id'),\n label: escalation.get('name')\n });\n });\n\n return options;\n };\n\n return ReferenceSelect({\n element,\n id: 'escalationRef',\n label: translate('Global escalation reference'),\n autoFocusEntry: 'escalationName',\n getValue,\n setValue,\n getOptions\n });\n}\n\nfunction EscalationName(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const escalation = getEscalation(element);\n\n const getValue = () => {\n return escalation.get('name');\n };\n\n const setValue = (value) => {\n return commandStack.execute(\n 'element.updateModdleProperties',\n {\n element,\n moddleElement: escalation,\n properties: {\n name: value\n }\n }\n );\n };\n\n return TextFieldEntry({\n element,\n id: 'escalationName',\n label: translate('Name'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction EscalationCode(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const escalation = getEscalation(element);\n\n const getValue = () => {\n return escalation.get('escalationCode');\n };\n\n const setValue = (value) => {\n return commandStack.execute(\n 'element.updateModdleProperties',\n {\n element,\n moddleElement: escalation,\n properties: {\n escalationCode: value\n }\n }\n );\n };\n\n return TextFieldEntry({\n element,\n id: 'escalationCode',\n label: translate('Code'),\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper /////////////////////////\n\nfunction sortByName(elements) {\n return sortBy(elements, e => (e.name || '').toLowerCase());\n}\n","import {\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { CheckboxEntry, isCheckboxEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\n\n/**\n * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry\n */\n\n/**\n * @returns {Array} entries\n */\nexport function ExecutableProps(props) {\n const {\n element\n } = props;\n\n if (!is(element, 'bpmn:Process') && !hasProcessRef(element)) {\n return [];\n }\n\n return [\n {\n id: 'isExecutable',\n component: Executable,\n isEdited: isCheckboxEntryEdited\n }\n ];\n}\n\nfunction Executable(props) {\n const {\n element\n } = props;\n\n const modeling = useService('modeling');\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n let getValue, setValue;\n\n setValue = (value) => {\n modeling.updateProperties(element, {\n isExecutable: value\n });\n };\n\n getValue = (element) => {\n return element.businessObject.isExecutable;\n };\n\n // handle properties on processRef level for participants\n if (is(element, 'bpmn:Participant')) {\n\n const process = element.businessObject.get('processRef');\n\n setValue = (value) => {\n commandStack.execute(\n 'element.updateModdleProperties',\n {\n element,\n moddleElement: process,\n properties: {\n isExecutable: value\n }\n }\n );\n };\n\n getValue = () => {\n return process.get('isExecutable');\n };\n\n }\n\n return CheckboxEntry({\n element,\n id: 'isExecutable',\n label: translate('Executable'),\n getValue,\n setValue\n });\n}\n\n\n// helper /////////////////////\n\nfunction hasProcessRef(element) {\n return is(element, 'bpmn:Participant') && element.businessObject.get('processRef');\n}","const SPACE_REGEX = /\\s/;\n\n// for QName validation as per http://www.w3.org/TR/REC-xml/#NT-NameChar\nconst QNAME_REGEX = /^([a-z][\\w-.]*:)?[a-z_][\\w-.]*$/i;\n\n// for ID validation as per BPMN Schema (QName - Namespace)\nconst ID_REGEX = /^[a-z_][\\w-.]*$/i;\n\n/**\n * checks whether the id value is valid\n *\n * @param {ModdleElement} element\n * @param {String} idValue\n * @param {Function} translate\n *\n * @return {String} error message\n */\nexport function isIdValid(element, idValue, translate) {\n const assigned = element.$model.ids.assigned(idValue);\n const idAlreadyExists = assigned && assigned !== element;\n\n if (!idValue) {\n return translate('ID must not be empty.');\n }\n\n if (idAlreadyExists) {\n return translate('ID must be unique.');\n }\n\n return validateId(idValue, translate);\n}\n\nexport function validateId(idValue, translate) {\n\n if (containsSpace(idValue)) {\n return translate('ID must not contain spaces.');\n }\n\n if (!ID_REGEX.test(idValue)) {\n\n if (QNAME_REGEX.test(idValue)) {\n return translate('ID must not contain prefix.');\n }\n\n return translate('ID must be a valid QName.');\n }\n}\n\nexport function containsSpace(value) {\n return SPACE_REGEX.test(value);\n}","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { TextFieldEntry, isTextFieldEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n isIdValid\n} from '../utils/ValidationUtil';\n\n\n/**\n * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry\n */\n\n/**\n * @returns {Array} entries\n */\nexport function IdProps() {\n return [\n {\n id: 'id',\n component: Id,\n isEdited: isTextFieldEntryEdited\n }\n ];\n}\n\nfunction Id(props) {\n const {\n element\n } = props;\n\n const modeling = useService('modeling');\n const debounce = useService('debounceInput');\n const translate = useService('translate');\n\n const setValue = (value, error) => {\n if (error) {\n return;\n }\n\n modeling.updateProperties(element, {\n id: value\n });\n };\n\n const getValue = (element) => {\n return element.businessObject.id;\n };\n\n const validate = (value) => {\n const businessObject = getBusinessObject(element);\n\n return isIdValid(businessObject, value, translate);\n };\n\n return TextFieldEntry({\n element,\n id: 'id',\n label: translate(is(element, 'bpmn:Participant') ? 'Participant ID' : 'ID'),\n getValue,\n setValue,\n debounce,\n validate\n });\n}","import { TextFieldEntry, isTextFieldEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n getLinkEventDefinition,\n isLinkSupported\n} from '../utils/EventDefinitionUtil';\n\n/**\n * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry\n */\n\n/**\n * @returns {Array} entries\n */\nexport function LinkProps(props) {\n const {\n element\n } = props;\n\n if (!isLinkSupported(element)) {\n return [];\n }\n\n return [\n {\n id: 'linkName',\n component: LinkName,\n isEdited: isTextFieldEntryEdited\n },\n ];\n}\n\nfunction LinkName(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const linkEventDefinition = getLinkEventDefinition(element);\n\n const getValue = () => {\n return linkEventDefinition.get('name');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: linkEventDefinition,\n properties: {\n name: value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'linkName',\n label: translate('Name'),\n getValue,\n setValue,\n debounce\n });\n}\n","import {\n getBusinessObject\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n sortBy\n} from 'min-dash';\n\nimport { TextFieldEntry, isTextFieldEntryEdited, isSelectEntryEdited } from '@bpmn-io/properties-panel';\nimport ReferenceSelect from '../../../entries/ReferenceSelect';\n\nimport { useService } from '../../../hooks';\n\nimport {\n getMessage,\n getMessageEventDefinition,\n isMessageSupported\n} from '../utils/EventDefinitionUtil';\n\nimport {\n createElement,\n findRootElementById,\n findRootElementsByType,\n getRoot,\n nextId\n} from '../../../utils/ElementUtil';\n\nexport const EMPTY_OPTION = '';\nexport const CREATE_NEW_OPTION = 'create-new';\n\n\n/**\n * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry\n */\n\n/**\n * @returns {Array} entries\n */\nexport function MessageProps(props) {\n const {\n element\n } = props;\n\n if (!isMessageSupported(element)) {\n return [];\n }\n\n const message = getMessage(element);\n\n let entries = [\n {\n id: 'messageRef',\n component: MessageRef,\n isEdited: isSelectEntryEdited\n }\n ];\n\n if (message) {\n entries = [\n ...entries,\n {\n id: 'messageName',\n component: MessageName,\n isEdited: isTextFieldEntryEdited\n },\n ];\n }\n\n return entries;\n}\n\nfunction MessageRef(props) {\n const { element } = props;\n\n const bpmnFactory = useService('bpmnFactory');\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const messageEventDefinition = getMessageEventDefinition(element);\n\n const getValue = () => {\n const message = getMessage(element);\n\n if (message) {\n return message.get('id');\n }\n\n return EMPTY_OPTION;\n };\n\n const setValue = (value) => {\n const root = getRoot(messageEventDefinition);\n const commands = [];\n\n let message;\n\n // (1) create new message\n if (value === CREATE_NEW_OPTION) {\n const id = nextId('Message_');\n\n message = createElement(\n 'bpmn:Message',\n { id, name: id },\n root,\n bpmnFactory\n );\n\n value = message.get('id');\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: root,\n properties: {\n rootElements: [ ...root.get('rootElements'), message ]\n }\n }\n });\n }\n\n // (2) update (or remove) messageRef\n message = message || findRootElementById(messageEventDefinition, 'bpmn:Message', value);\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: messageEventDefinition,\n properties: {\n messageRef: message\n }\n }\n });\n\n // (3) commit all updates\n return commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n const getOptions = () => {\n\n let options = [\n { value: EMPTY_OPTION, label: translate('') },\n { value: CREATE_NEW_OPTION, label: translate('Create new ...') }\n ];\n\n const messages = findRootElementsByType(getBusinessObject(element), 'bpmn:Message');\n\n sortByName(messages).forEach(message => {\n options.push({\n value: message.get('id'),\n label: message.get('name')\n });\n });\n\n return options;\n };\n\n return ReferenceSelect({\n element,\n id: 'messageRef',\n label: translate('Global message reference'),\n autoFocusEntry: 'messageName',\n getValue,\n setValue,\n getOptions\n });\n}\n\nfunction MessageName(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const message = getMessage(element);\n\n const getValue = () => {\n return message.get('name');\n };\n\n const setValue = (value) => {\n return commandStack.execute(\n 'element.updateModdleProperties',\n {\n element,\n moddleElement: message,\n properties: {\n name: value\n }\n }\n );\n };\n\n return TextFieldEntry({\n element,\n id: 'messageName',\n label: translate('Name'),\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper /////////////////////////\n\nfunction sortByName(elements) {\n return sortBy(elements, e => (e.name || '').toLowerCase());\n}","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { TextFieldEntry, isTextFieldEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\n/**\n * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry\n */\n\n/**\n * @returns {Array} entries\n */\nexport function MultiInstanceProps(props) {\n const {\n element\n } = props;\n\n if (!isMultiInstanceSupported(element)) {\n return [];\n }\n\n const entries = [\n {\n id: 'loopCardinality',\n component: LoopCardinality,\n isEdited: isTextFieldEntryEdited\n },\n {\n id: 'completionCondition',\n component: CompletionCondition,\n isEdited: isTextFieldEntryEdited\n }\n ];\n\n return entries;\n}\n\nfunction LoopCardinality(props) {\n const { element } = props;\n\n const bpmnFactory = useService('bpmnFactory');\n const debounce = useService('debounceInput');\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const getValue = () => {\n return getLoopCardinalityValue(element);\n };\n\n const setValue = (value) => {\n return commandStack.execute(\n 'element.updateModdleProperties',\n updateFormalExpression(element, 'loopCardinality', value, bpmnFactory)\n );\n };\n\n return TextFieldEntry({\n element,\n id: 'loopCardinality',\n label: translate('Loop cardinality'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction CompletionCondition(props) {\n const { element } = props;\n\n const bpmnFactory = useService('bpmnFactory');\n const debounce = useService('debounceInput');\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const getValue = () => {\n return getCompletionConditionValue(element);\n };\n\n const setValue = (value) => {\n return commandStack.execute(\n 'element.updateModdleProperties',\n updateFormalExpression(element, 'completionCondition', value, bpmnFactory)\n );\n };\n\n return TextFieldEntry({\n element,\n id: 'completionCondition',\n label: translate('Completion condition'),\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper ////////////////////////////\n\n// generic ///////////////////////////\n\n/**\n * isMultiInstanceSupported - check whether given element supports MultiInstanceLoopCharacteristics.\n *\n * @param {djs.model.Base} element\n * @return {boolean}\n */\nfunction isMultiInstanceSupported(element) {\n const loopCharacteristics = getLoopCharacteristics(element);\n return !!loopCharacteristics && is(loopCharacteristics, 'bpmn:MultiInstanceLoopCharacteristics');\n}\n\n/**\n * getBody - get the body of a given expression.\n *\n * @param {ModdleElement} expression\n * @return {string} the body (value) of the expression\n */\nfunction getBody(expression) {\n return expression && expression.get('body');\n}\n\n/**\n * getProperty - get a property value of the loop characteristics.\n *\n * @param {djs.model.Base} element\n * @param {string} propertyName\n *\n * @return {any} the property value\n */\nfunction getProperty(element, propertyName) {\n const loopCharacteristics = getLoopCharacteristics(element);\n return loopCharacteristics && loopCharacteristics.get(propertyName);\n}\n\n/**\n * getLoopCharacteristics - get loopCharacteristics of a given element.\n *\n * @param {djs.model.Base} element\n * @return {ModdleElement | undefined}\n */\nfunction getLoopCharacteristics(element) {\n const bo = getBusinessObject(element);\n return bo.loopCharacteristics;\n}\n\n/**\n * createFormalExpression - creates a 'bpmn:FormalExpression' element.\n *\n * @param {ModdleElement} parent\n * @param {string} body\n * @param {BpmnFactory} bpmnFactory\n *\n * @result {ModdleElement} a formal expression\n */\nfunction createFormalExpression(parent, body, bpmnFactory) {\n return createElement('bpmn:FormalExpression', { body: body }, parent, bpmnFactory);\n}\n\n/**\n * updateFormalExpression - updates a specific formal expression of the loop characteristics.\n *\n * @param {djs.model.Base} element\n * @param {string} propertyName\n * @param {string} newValue\n * @param {BpmnFactory} bpmnFactory\n */\nfunction updateFormalExpression(element, propertyName, newValue, bpmnFactory) {\n const loopCharacteristics = getLoopCharacteristics(element);\n\n const expressionProps = {};\n\n if (!newValue) {\n\n // remove formal expression\n expressionProps[ propertyName ] = undefined;\n\n return {\n element,\n moddleElement: loopCharacteristics,\n properties: expressionProps\n };\n }\n\n const existingExpression = loopCharacteristics.get(propertyName);\n\n if (!existingExpression) {\n\n // add formal expression\n expressionProps[ propertyName ] = createFormalExpression(loopCharacteristics, newValue, bpmnFactory);\n\n return {\n element,\n moddleElement: loopCharacteristics,\n properties: expressionProps\n };\n }\n\n // edit existing formal expression\n return {\n element,\n moddleElement: existingExpression,\n properties: {\n body: newValue\n }\n };\n}\n\n// loopCardinality\n\n/**\n * getLoopCardinality - get the loop cardinality of the loop characteristics.\n *\n * @param {djs.model.Base} element\n *\n * @return {ModdleElement} an expression representing the loop cardinality\n */\nfunction getLoopCardinality(element) {\n return getProperty(element, 'loopCardinality');\n}\n\n/**\n * getLoopCardinalityValue - get the loop cardinality value of the loop characteristics.\n *\n * @param {djs.model.Base} element\n *\n * @return {string} the loop cardinality value\n */\nfunction getLoopCardinalityValue(element) {\n const loopCardinality = getLoopCardinality(element);\n return getBody(loopCardinality);\n}\n\n// completionCondition /////////////////////\n\n/**\n * getCompletionCondition - get the completion condition of the loop characteristics.\n *\n * @param {djs.model.Base} element\n *\n * @return {ModdleElement} an expression representing the completion condition\n */\nfunction getCompletionCondition(element) {\n return getProperty(element, 'completionCondition');\n}\n\n/**\n * getCompletionConditionValue - get the completion condition value of the loop characteristics.\n *\n * @param {djs.model.Base} element\n *\n * @return {string} the completion condition value\n */\nfunction getCompletionConditionValue(element) {\n const completionCondition = getCompletionCondition(element);\n return getBody(completionCondition);\n}\n","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { isAny } from 'bpmn-js/lib/features/modeling/util/ModelingUtil';\n\nimport {\n add as collectionAdd\n} from 'diagram-js/lib/util/Collections';\n\nimport { TextAreaEntry, isTextAreaEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\n/**\n * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry\n */\n\n/**\n * @returns {Array} entries\n */\nexport function NameProps(props) {\n const {\n element\n } = props;\n\n if (isAny(element, [ 'bpmn:Collaboration', 'bpmn:DataAssociation', 'bpmn:Association' ])) {\n return [];\n }\n\n return [\n {\n id: 'name',\n component: Name,\n isEdited: isTextAreaEntryEdited\n }\n ];\n}\n\nfunction Name(props) {\n const {\n element\n } = props;\n\n const modeling = useService('modeling');\n const debounce = useService('debounceInput');\n const canvas = useService('canvas');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n\n // (1) default: name\n let options = {\n element,\n id: 'name',\n label: translate('Name'),\n debounce,\n setValue: (value) => {\n modeling.updateProperties(element, {\n name: value\n });\n },\n getValue: (element) => {\n return element.businessObject.name;\n },\n autoResize: true\n };\n\n // (2) text annotations\n if (is(element, 'bpmn:TextAnnotation')) {\n options = {\n ...options,\n setValue: (value) => {\n modeling.updateProperties(element, {\n text: value\n });\n },\n getValue: (element) => {\n return element.businessObject.text;\n }\n };\n }\n\n // (3) groups\n else if (is(element, 'bpmn:Group')) {\n options = {\n ...options,\n setValue: (value) => {\n const businessObject = getBusinessObject(element),\n categoryValueRef = businessObject.categoryValueRef;\n\n if (!categoryValueRef) {\n initializeCategory(businessObject, canvas.getRootElement(), bpmnFactory);\n }\n\n modeling.updateLabel(element, value);\n },\n getValue: (element) => {\n const businessObject = getBusinessObject(element),\n categoryValueRef = businessObject.categoryValueRef;\n\n return categoryValueRef && categoryValueRef.value;\n }\n };\n }\n\n // (4) participants (only update label)\n else if (is(element, 'bpmn:Participant')) {\n options.label = translate('Participant Name');\n }\n\n\n return TextAreaEntry(options);\n}\n\n\n// helpers ////////////////////////\n\nfunction initializeCategory(businessObject, rootElement, bpmnFactory) {\n const definitions = getBusinessObject(rootElement).$parent;\n\n const categoryValue = createCategoryValue(definitions, bpmnFactory);\n\n businessObject.categoryValueRef = categoryValue;\n}\n\nfunction createCategoryValue(definitions, bpmnFactory) {\n const categoryValue = bpmnFactory.create('bpmn:CategoryValue');\n\n const category = bpmnFactory.create('bpmn:Category', {\n categoryValue: [ categoryValue ]\n });\n\n // add to correct place\n collectionAdd(definitions.get('rootElements'), category);\n getBusinessObject(category).$parent = definitions;\n getBusinessObject(categoryValue).$parent = category;\n\n return categoryValue;\n}\n","import { is } from 'bpmn-js/lib/util/ModelUtil';\n\nimport { TextFieldEntry, isTextFieldEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n isIdValid\n} from '../utils/ValidationUtil';\n\n/**\n * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry\n */\n\n/**\n * @returns {Array} entries\n */\nexport function ProcessProps(props) {\n const {\n element\n } = props;\n\n if (!hasProcessRef(element)) {\n return [];\n }\n\n return [\n {\n id: 'processId',\n component: ProcessId,\n isEdited: isTextFieldEntryEdited\n },\n {\n id: 'processName',\n component: ProcessName,\n isEdited: isTextFieldEntryEdited\n }\n ];\n}\n\nfunction ProcessName(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n const process = element.businessObject.get('processRef');\n\n const getValue = () => {\n return process.get('name');\n };\n\n const setValue = (value) => {\n commandStack.execute(\n 'element.updateModdleProperties',\n {\n element,\n moddleElement: process,\n properties: {\n name: value\n }\n }\n );\n };\n\n return TextFieldEntry({\n element,\n id: 'processName',\n label: translate('Process name'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction ProcessId(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n const process = element.businessObject.get('processRef');\n\n const getValue = () => {\n return process.get('id');\n };\n\n const setValue = (value, error) => {\n if (error) {\n return;\n }\n\n commandStack.execute(\n 'element.updateModdleProperties',\n {\n element,\n moddleElement: process,\n properties: {\n id: value\n }\n }\n );\n };\n\n const validate = (value) => {\n return isIdValid(process, value, translate);\n };\n\n return TextFieldEntry({\n element,\n id: 'processId',\n label: translate('Process ID'),\n getValue,\n setValue,\n debounce,\n validate\n });\n}\n\n\n// helper ////////////////\n\nfunction hasProcessRef(element) {\n return is(element, 'bpmn:Participant') && element.businessObject.get('processRef');\n}","import {\n getBusinessObject\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n sortBy\n} from 'min-dash';\n\nimport { TextFieldEntry, isSelectEntryEdited, isTextFieldEntryEdited } from '@bpmn-io/properties-panel';\nimport ReferenceSelect from '../../../entries/ReferenceSelect';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n getSignal,\n getSignalEventDefinition,\n isSignalSupported\n} from '../utils/EventDefinitionUtil';\n\nimport {\n createElement,\n findRootElementById,\n findRootElementsByType,\n getRoot,\n nextId\n} from '../../../utils/ElementUtil';\n\n/**\n * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry\n */\n\nexport const EMPTY_OPTION = '';\nexport const CREATE_NEW_OPTION = 'create-new';\n\n/**\n * @returns {Entry[]}\n */\nexport function SignalProps(props) {\n const {\n element\n } = props;\n\n if (!isSignalSupported(element)) {\n return [];\n }\n\n const signal = getSignal(element);\n\n let entries = [\n {\n id: 'signalRef',\n component: SignalRef,\n isEdited: isSelectEntryEdited\n }\n ];\n\n if (signal) {\n entries = [\n ...entries,\n {\n id: 'signalName',\n component: SignalName,\n isEdited: isTextFieldEntryEdited\n },\n ];\n }\n\n return entries;\n}\n\nfunction SignalRef(props) {\n const { element } = props;\n\n const bpmnFactory = useService('bpmnFactory');\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const signalEventDefinition = getSignalEventDefinition(element);\n\n const getValue = () => {\n const signal = getSignal(element);\n\n if (signal) {\n return signal.get('id');\n }\n\n return EMPTY_OPTION;\n };\n\n const setValue = (value) => {\n const root = getRoot(signalEventDefinition);\n const commands = [];\n\n let signal;\n\n // (1) create new signal\n if (value === CREATE_NEW_OPTION) {\n const id = nextId('Signal_');\n\n signal = createElement(\n 'bpmn:Signal',\n { id, name: id },\n root,\n bpmnFactory\n );\n\n value = signal.get('id');\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: root,\n properties: {\n rootElements: [ ...root.get('rootElements'), signal ]\n }\n }\n });\n }\n\n // (2) update (or remove) signalRef\n signal = signal || findRootElementById(signalEventDefinition, 'bpmn:Signal', value);\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: signalEventDefinition,\n properties: {\n signalRef: signal\n }\n }\n });\n\n // (3) commit all updates\n return commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n const getOptions = () => {\n\n let options = [\n { value: EMPTY_OPTION, label: translate('') },\n { value: CREATE_NEW_OPTION, label: translate('Create new ...') }\n ];\n\n const signals = findRootElementsByType(getBusinessObject(element), 'bpmn:Signal');\n\n sortByName(signals).forEach(signal => {\n options.push({\n value: signal.get('id'),\n label: signal.get('name')\n });\n });\n\n return options;\n };\n\n return ReferenceSelect({\n element,\n id: 'signalRef',\n label: translate('Global signal reference'),\n autoFocusEntry: 'signalName',\n getValue,\n setValue,\n getOptions\n });\n}\n\nfunction SignalName(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const signal = getSignal(element);\n\n const getValue = () => {\n return signal.get('name');\n };\n\n const setValue = (value) => {\n return commandStack.execute(\n 'element.updateModdleProperties',\n {\n element,\n moddleElement: signal,\n properties: {\n name: value\n }\n }\n );\n };\n\n return TextFieldEntry({\n element,\n id: 'signalName',\n label: translate('Name'),\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper /////////////////////////\n\nfunction sortByName(elements) {\n return sortBy(elements, e => (e.name || '').toLowerCase());\n}\n","import {\n isAny\n} from 'bpmn-js/lib/features/modeling/util/ModelingUtil';\n\nimport {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n find\n} from 'min-dash';\n\nexport function isErrorSupported(element) {\n return isAny(element, [\n 'bpmn:StartEvent',\n 'bpmn:BoundaryEvent',\n 'bpmn:EndEvent'\n ]) && !!getErrorEventDefinition(element);\n}\n\nexport function getErrorEventDefinition(element) {\n return getEventDefinition(element, 'bpmn:ErrorEventDefinition');\n}\n\nexport function isTimerSupported(element) {\n return isAny(element, [\n 'bpmn:StartEvent',\n 'bpmn:IntermediateCatchEvent',\n 'bpmn:BoundaryEvent'\n ]) && !!getTimerEventDefinition(element);\n}\n\n/**\n * Get the timer definition type for a given timer event definition.\n *\n * @param {ModdleElement} timer\n *\n * @return {string|undefined} the timer definition type\n */\nexport function getTimerDefinitionType(timer) {\n\n if (!timer) {\n return;\n }\n\n const timeDate = timer.get('timeDate');\n if (typeof timeDate !== 'undefined') {\n return 'timeDate';\n }\n\n const timeCycle = timer.get('timeCycle');\n if (typeof timeCycle !== 'undefined') {\n return 'timeCycle';\n }\n\n const timeDuration = timer.get('timeDuration');\n if (typeof timeDuration !== 'undefined') {\n return 'timeDuration';\n }\n}\n\nexport function getTimerEventDefinition(element) {\n return getEventDefinition(element, 'bpmn:TimerEventDefinition');\n}\n\nexport function getError(element) {\n const errorEventDefinition = getErrorEventDefinition(element);\n\n return errorEventDefinition && errorEventDefinition.get('errorRef');\n}\n\nexport function getEventDefinition(element, eventType) {\n const businessObject = getBusinessObject(element);\n\n const eventDefinitions = businessObject.get('eventDefinitions') || [];\n\n return find(eventDefinitions, function(definition) {\n return is(definition, eventType);\n });\n}\n\nexport function isMessageSupported(element) {\n return is(element, 'bpmn:ReceiveTask') || (\n isAny(element, [\n 'bpmn:StartEvent',\n 'bpmn:EndEvent',\n 'bpmn:IntermediateThrowEvent',\n 'bpmn:BoundaryEvent',\n 'bpmn:IntermediateCatchEvent'\n ]) && !!getMessageEventDefinition(element)\n );\n}\n\nexport function getMessageEventDefinition(element) {\n if (is(element, 'bpmn:ReceiveTask')) {\n return getBusinessObject(element);\n }\n\n return getEventDefinition(element, 'bpmn:MessageEventDefinition');\n}\n\nexport function getMessage(element) {\n const messageEventDefinition = getMessageEventDefinition(element);\n\n return messageEventDefinition && messageEventDefinition.get('messageRef');\n}\n\nexport function getLinkEventDefinition(element) {\n return getEventDefinition(element, 'bpmn:LinkEventDefinition');\n}\n\nexport function getSignalEventDefinition(element) {\n return getEventDefinition(element, 'bpmn:SignalEventDefinition');\n}\n\nexport function isLinkSupported(element) {\n return isAny(element, [\n 'bpmn:IntermediateThrowEvent',\n 'bpmn:IntermediateCatchEvent'\n ]) && !!getLinkEventDefinition(element);\n}\n\nexport function isSignalSupported(element) {\n return is(element, 'bpmn:Event') && !!getSignalEventDefinition(element);\n}\n\nexport function getSignal(element) {\n const signalEventDefinition = getSignalEventDefinition(element);\n\n return signalEventDefinition && signalEventDefinition.get('signalRef');\n}\n\nexport function getEscalationEventDefinition(element) {\n return getEventDefinition(element, 'bpmn:EscalationEventDefinition');\n}\n\nexport function isEscalationSupported(element) {\n return is(element, 'bpmn:Event') && !!getEscalationEventDefinition(element);\n}\n\nexport function getEscalation(element) {\n const escalationEventDefinition = getEscalationEventDefinition(element);\n\n return escalationEventDefinition && escalationEventDefinition.get('escalationRef');\n}\n\nexport function isCompensationSupported(element) {\n return isAny(element, [\n 'bpmn:EndEvent',\n 'bpmn:IntermediateThrowEvent'\n ]) && !!getCompensateEventDefinition(element);\n}\n\nexport function getCompensateEventDefinition(element) {\n return getEventDefinition(element, 'bpmn:CompensateEventDefinition');\n}\n\nexport function getCompensateActivity(element) {\n const compensateEventDefinition = getCompensateEventDefinition(element);\n\n return compensateEventDefinition && compensateEventDefinition.get('activityRef');\n}\n","import {\n getBusinessObject\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n isTimerSupported,\n getTimerEventDefinition,\n getTimerDefinitionType\n} from '../../../utils/EventDefinitionUtil';\n\nimport {\n SelectEntry,\n isSelectEntryEdited,\n TextFieldEntry,\n isTextFieldEntryEdited\n} from '@bpmn-io/properties-panel';\n\n\n/**\n * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry\n */\n\n/**\n * @returns {Array} entries\n */\nexport function TimerProps(props) {\n const {\n element,\n idPrefix\n } = props;\n\n let {\n timerEventDefinition\n } = props;\n\n if (!timerEventDefinition) {\n const businessObject = getBusinessObject(element);\n timerEventDefinition = getTimerEventDefinition(businessObject);\n }\n\n const timerEventDefinitionType = getTimerDefinitionType(timerEventDefinition);\n\n // (1) Only show for supported elements\n if (!isTimerSupported(element)) {\n return [];\n }\n\n // (2) Provide entries, have a value only if selection was made\n const entries = [];\n\n entries.push({\n id: getId(idPrefix, 'timerEventDefinitionType'),\n component: TimerEventDefinitionType,\n isEdited: isSelectEntryEdited,\n timerEventDefinition,\n timerEventDefinitionType\n });\n\n if (timerEventDefinitionType) {\n entries.push({\n id: getId(idPrefix, 'timerEventDefinitionValue'),\n component: TimerEventDefinitionValue,\n isEdited: isTextFieldEntryEdited,\n timerEventDefinition,\n timerEventDefinitionType\n });\n }\n\n return entries;\n}\n\n\n/**\n * TimerEventDefinitionType - Generic select entry allowing to select a specific\n * timerEventDefintionType. To be used together with timerEventDefinitionValue.\n *\n * @param {type} props\n * @return {SelectEntry}\n */\nfunction TimerEventDefinitionType(props) {\n const {\n element,\n timerEventDefinition,\n timerEventDefinitionType\n } = props;\n\n const commandStack = useService('commandStack'),\n bpmnFactory = useService('bpmnFactory'),\n translate = useService('translate');\n\n const getValue = () => {\n return timerEventDefinitionType || '';\n };\n\n const setValue = (value) => {\n\n // (1) Check if value is different to current type\n if (value === timerEventDefinitionType) {\n return;\n }\n\n // (2) Create empty formalExpression element\n const formalExpression = bpmnFactory.create('bpmn:FormalExpression', { body: undefined });\n formalExpression.$parent = timerEventDefinition;\n\n // (3) Set the value for selected timerEventDefinitionType\n const newProps = {\n timeDuration: undefined,\n timeDate: undefined,\n timeCycle: undefined\n };\n\n if (value !== '') {\n newProps[value] = formalExpression;\n }\n\n // (4) Execute businessObject update\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: timerEventDefinition,\n properties: newProps\n });\n };\n\n const getOptions = (element) => {\n return [\n { value: '', label: translate('') },\n { value: 'timeDate', label: translate('Date') },\n { value: 'timeDuration', label: translate('Duration') },\n { value: 'timeCycle', label: translate('Cycle') }\n ];\n };\n\n return SelectEntry({\n element,\n id: 'timerEventDefinitionType',\n label: translate('Type'),\n getValue,\n setValue,\n getOptions\n });\n}\n\n/**\n * TimerEventDefinitionValue - Generic textField entry allowing to specify the\n * timerEventDefintionValue based on the set timerEventDefintionType. To be used\n * together with timerEventDefinitionType.\n *\n * @param {type} props\n * @return {TextFieldEntry}\n */\nfunction TimerEventDefinitionValue(props) {\n const {\n element,\n timerEventDefinition,\n timerEventDefinitionType\n } = props;\n\n const commandStack = useService('commandStack'),\n translate = useService('translate'),\n debounce = useService('debounceInput');\n\n const timerEventFormalExpression = timerEventDefinition.get(timerEventDefinitionType);\n\n const getValue = () => {\n return timerEventFormalExpression && timerEventFormalExpression.get('body');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: timerEventFormalExpression,\n properties: {\n body: value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'timerEventDefinitionValue',\n label: translate('Value'),\n getValue,\n setValue,\n debounce,\n tooltip: getTimerEventDefinitionValueDescription(timerEventDefinitionType, translate)\n });\n}\n\n\n// helper //////////////////////////\n\nfunction getTimerEventDefinitionValueDescription(timerDefinitionType, translate) {\n switch (timerDefinitionType) {\n case 'timeDate':\n return (
\n

{ translate('A specific point in time defined as ISO 8601 combined date and time representation.') }

\n
    \n
  • 2019-10-01T12:00:00Z - { translate('UTC time') }
  • \n
  • 2019-10-02T08:09:40+02:00 - { translate('UTC plus 2 hours zone offset') }
  • \n
\n { translate('Documentation: Timer events') }\n
);\n\n case 'timeCycle':\n return (
\n

{ translate('A cycle defined as ISO 8601 repeating intervals format.') }

\n
    \n
  • R5/PT10S - { translate('every 10 seconds, up to 5 times') }
  • \n
  • R/P1D - { translate('every day, infinitely') }
  • \n
\n { translate('Documentation: Timer events') }\n
);\n\n case 'timeDuration':\n return (
\n

{ translate('A time duration defined as ISO 8601 durations format.') }

\n
    \n
  • PT15S - { translate('15 seconds') }
  • \n
  • PT1H30M - { translate('1 hour and 30 minutes') }
  • \n
  • P14D - { translate('14 days') }
  • \n
\n { translate('Documentation: Timer events') }\n
);\n }\n}\n\nfunction getId(idPrefix, id) {\n return idPrefix ? idPrefix + id : id;\n}","import { Group } from '@bpmn-io/properties-panel';\n\nimport {\n CompensationProps,\n DocumentationProps,\n ErrorProps,\n EscalationProps,\n ExecutableProps,\n IdProps,\n LinkProps,\n MessageProps,\n MultiInstanceProps,\n NameProps,\n ProcessProps,\n SignalProps,\n TimerProps\n} from './properties';\n\nfunction GeneralGroup(element, injector) {\n const translate = injector.get('translate');\n\n const entries = [\n ...NameProps({ element }),\n ...IdProps({ element }),\n ...ProcessProps({ element }),\n ...ExecutableProps({ element })\n ];\n\n return {\n id: 'general',\n label: translate('General'),\n entries,\n component: Group\n };\n\n}\n\nfunction CompensationGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Compensation'),\n id: 'compensation',\n component: Group,\n entries: [\n ...CompensationProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction DocumentationGroup(element, injector) {\n const translate = injector.get('translate');\n\n const entries = [\n ...DocumentationProps({ element })\n ];\n\n return {\n id: 'documentation',\n label: translate('Documentation'),\n entries,\n component: Group\n };\n\n}\n\nfunction ErrorGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n id: 'error',\n label: translate('Error'),\n component: Group,\n entries: [\n ...ErrorProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction MessageGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n id: 'message',\n label: translate('Message'),\n component: Group,\n entries: [\n ...MessageProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction SignalGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n id: 'signal',\n label: translate('Signal'),\n component: Group,\n entries: [\n ...SignalProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction LinkGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Link'),\n id: 'link',\n component: Group,\n entries: [\n ...LinkProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction EscalationGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n id: 'escalation',\n label: translate('Escalation'),\n component: Group,\n entries: [\n ...EscalationProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction TimerGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Timer'),\n id: 'timer',\n component: Group,\n entries: [\n ...TimerProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction MultiInstanceGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Multi-instance'),\n id: 'multiInstance',\n component: Group,\n entries: [\n ...MultiInstanceProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction getGroups(element, injector) {\n\n const groups = [\n GeneralGroup(element, injector),\n DocumentationGroup(element, injector),\n CompensationGroup(element, injector),\n ErrorGroup(element, injector),\n LinkGroup(element, injector),\n MessageGroup(element, injector),\n MultiInstanceGroup(element, injector),\n SignalGroup(element, injector),\n EscalationGroup(element, injector),\n TimerGroup(element, injector)\n ];\n\n // contract: if a group returns null, it should not be displayed at all\n return groups.filter(group => group !== null);\n}\n\nexport default class BpmnPropertiesProvider {\n\n constructor(propertiesPanel, injector) {\n propertiesPanel.registerProvider(this);\n this._injector = injector;\n }\n\n getGroups(element) {\n return (groups) => {\n groups = groups.concat(getGroups(element, this._injector));\n return groups;\n };\n }\n\n}\n\nBpmnPropertiesProvider.$inject = [ 'propertiesPanel', 'injector' ];\n","import BpmnPropertiesProvider from './BpmnPropertiesProvider';\n\nexport default {\n __init__: [ 'bpmnPropertiesProvider' ],\n bpmnPropertiesProvider: [ 'type', BpmnPropertiesProvider ]\n};","import { is } from 'bpmn-js/lib/util/ModelUtil';\n\nimport { createElement } from './ElementUtil';\n\nimport { isArray } from 'min-dash';\n\n/**\n * Get extension elements of business object. Optionally filter by type.\n *\n * @param {ModdleElement} businessObject\n * @param {String} [type=undefined]\n * @returns {Array}\n */\nexport function getExtensionElementsList(businessObject, type = undefined) {\n const extensionElements = businessObject.get('extensionElements');\n\n if (!extensionElements) {\n return [];\n }\n\n const values = extensionElements.get('values');\n\n if (!values || !values.length) {\n return [];\n }\n\n if (type) {\n return values.filter(value => is(value, type));\n }\n\n return values;\n}\n\n/**\n * Add one or more extension elements. Create bpmn:ExtensionElements if it doesn't exist.\n *\n * @param {ModdleElement} element\n * @param {ModdleElement} businessObject\n * @param {ModdleElement|Array} extensionElementsToAdd\n * @param {CommandStack} commandStack\n */\nexport function addExtensionElements(element, businessObject, extensionElementToAdd, bpmnFactory, commandStack) {\n const commands = [];\n\n let extensionElements = businessObject.get('extensionElements');\n\n // (1) create bpmn:ExtensionElements if it doesn't exist\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n {\n values: []\n },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: {\n extensionElements\n }\n }\n });\n }\n\n extensionElementToAdd.$parent = extensionElements;\n\n // (2) add extension element to list\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), extensionElementToAdd ]\n }\n }\n });\n\n commandStack.execute('properties-panel.multi-command-executor', commands);\n}\n\n/**\n * Remove one or more extension elements. Remove bpmn:ExtensionElements afterwards if it's empty.\n *\n * @param {ModdleElement} element\n * @param {ModdleElement} businessObject\n * @param {ModdleElement|Array} extensionElementsToRemove\n * @param {CommandStack} commandStack\n */\nexport function removeExtensionElements(element, businessObject, extensionElementsToRemove, commandStack) {\n if (!isArray(extensionElementsToRemove)) {\n extensionElementsToRemove = [ extensionElementsToRemove ];\n }\n\n const extensionElements = businessObject.get('extensionElements'),\n values = extensionElements.get('values').filter(value => !extensionElementsToRemove.includes(value));\n\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: extensionElements,\n properties: {\n values\n }\n });\n}\n","import { getVariablesForElement } from '@bpmn-io/extract-process-variables/zeebe';\nimport { useEffect, useState } from 'preact/hooks';\nimport { useService } from '../../hooks';\n\nconst fallbackResolver = {\n getVariablesForElement: bo => getVariablesForElement(bo)\n};\n\nexport function withVariableContext(Component) {\n return props => {\n const { bpmnElement, element } = props;\n\n const bo = (bpmnElement || element).businessObject;\n\n const [ variables, setVariables ] = useState([]);\n const eventBus = useService('eventBus');\n\n const variableResolver = useServiceIfAvailable('variableResolver', fallbackResolver);\n\n useEffect(() => {\n const extractVariables = async () => {\n\n const variables = await variableResolver.getVariablesForElement(bo, element);\n\n setVariables(variables.map(variable => {\n return {\n ...variable,\n info: variable.info ||\n (variable.origin && ('Written in ' + variable.origin.map(origin => origin.name || origin.id).join(', ')))\n };\n }));\n };\n\n // The callback must return undefined, so the event propagation is not canceled.\n // Cf. https://github.com/camunda/camunda-modeler/issues/3392\n const callback = () => {\n extractVariables();\n };\n\n eventBus.on('commandStack.changed', callback);\n callback();\n\n return () => {\n eventBus.off('commandStack.changed', callback);\n };\n }, [ bo ]);\n\n return ;\n };\n}\n\n// helpers //////////\n\nfunction useServiceIfAvailable(service, fallback) {\n const resolved = useService(service, false);\n\n if (!resolved) {\n return fallback;\n }\n\n return resolved;\n}\n","import { useMemo } from 'preact/hooks';\nimport { useService } from '../../hooks';\n\nexport function withTooltipContainer(Component) {\n return props => {\n const tooltipContainer = useMemo(() => {\n const config = useService('config');\n\n return config && config.propertiesPanel && config.propertiesPanel.feelTooltipContainer;\n }, [ ]);\n\n return ;\n };\n}","import { FeelEntry as BaseFeelEntry, FeelTextAreaEntry as BaseFeelTextAreaEntry } from '@bpmn-io/properties-panel';\nimport { withTooltipContainer, withVariableContext } from '../provider/HOCs';\n\nexport const FeelEntry = withTooltipContainer(BaseFeelEntry);\nexport const FeelTextAreaEntry = withTooltipContainer(BaseFeelTextAreaEntry);\n\nexport const FeelEntryWithVariableContext = withVariableContext(FeelEntry);\nexport const FeelTextAreaEntryWithVariableContext = withVariableContext(FeelTextAreaEntry);","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { isFeelEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n getExtensionElementsList\n} from '../../../utils/ExtensionElementsUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport { FeelEntryWithVariableContext } from '../../../entries/FeelEntryWithContext';\n\n\nexport function AssignmentDefinitionProps(props) {\n const {\n element\n } = props;\n\n if (!is(element, 'bpmn:UserTask')) {\n return [];\n }\n\n return [\n {\n id: 'assignmentDefinitionAssignee',\n component: Assignee,\n isEdited: isFeelEntryEdited\n },\n {\n id: 'assignmentDefinitionCandidateGroups',\n component: CandidateGroups,\n isEdited: isFeelEntryEdited\n },\n {\n id: 'assignmentDefinitionCandidateUsers',\n component: CandidateUsers,\n isEdited: isFeelEntryEdited\n }\n ];\n}\n\nfunction Assignee(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return (getAssignmentDefinition(element) || {}).assignee;\n };\n\n const setValue = (value) => {\n const commands = [];\n\n const businessObject = getBusinessObject(element);\n\n let extensionElements = businessObject.get('extensionElements');\n\n // (1) ensure extension elements\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) ensure AssignmentDefinition\n let assignmentDefinition = getAssignmentDefinition(element);\n\n if (!assignmentDefinition) {\n assignmentDefinition = createElement(\n 'zeebe:AssignmentDefinition',\n { },\n extensionElements,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), assignmentDefinition ]\n }\n }\n });\n }\n\n // (3) update assignee definition type\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: assignmentDefinition,\n properties: { assignee: value }\n }\n });\n\n // (4) commit all updates\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n return FeelEntryWithVariableContext({\n element,\n id: 'assignmentDefinitionAssignee',\n label: translate('Assignee'),\n feel: 'optional',\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction CandidateGroups(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return (getAssignmentDefinition(element) || {}).candidateGroups;\n };\n\n const setValue = (value) => {\n let commands = [];\n\n const businessObject = getBusinessObject(element);\n\n let extensionElements = businessObject.get('extensionElements');\n\n // (1) ensure extension elements\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) ensure assignmentDefinition\n let assignmentDefinition = getAssignmentDefinition(element);\n\n if (!assignmentDefinition) {\n assignmentDefinition = createElement(\n 'zeebe:AssignmentDefinition',\n { },\n extensionElements,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), assignmentDefinition ]\n }\n }\n });\n }\n\n // (3) update candidateGroups\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: assignmentDefinition,\n properties: { candidateGroups: value }\n }\n });\n\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n return FeelEntryWithVariableContext({\n element,\n id: 'assignmentDefinitionCandidateGroups',\n label: translate('Candidate groups'),\n feel: 'optional',\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction CandidateUsers(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return (getAssignmentDefinition(element) || {}).candidateUsers;\n };\n\n const setValue = (value) => {\n let commands = [];\n\n const businessObject = getBusinessObject(element);\n\n let extensionElements = businessObject.get('extensionElements');\n\n // (1) ensure extension elements\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) ensure assignmentDefinition\n let assignmentDefinition = getAssignmentDefinition(element);\n\n if (!assignmentDefinition) {\n assignmentDefinition = createElement(\n 'zeebe:AssignmentDefinition',\n { },\n extensionElements,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), assignmentDefinition ]\n }\n }\n });\n }\n\n // (3) update candidateUsers\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: assignmentDefinition,\n properties: { candidateUsers: value }\n }\n });\n\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n return FeelEntryWithVariableContext({\n element,\n id: 'assignmentDefinitionCandidateUsers',\n label: translate('Candidate users'),\n feel: 'optional',\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper ///////////////////////\n\nfunction getAssignmentDefinition(element) {\n const businessObject = getBusinessObject(element);\n\n return getExtensionElementsList(businessObject, 'zeebe:AssignmentDefinition')[0];\n}\n","import {\n is,\n isAny\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n getMessageEventDefinition\n} from '../../bpmn/utils/EventDefinitionUtil';\n\nimport {\n getBusinessObject\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n getExtensionElementsList\n} from '../../../utils/ExtensionElementsUtil';\n\n\nexport function isZeebeServiceTask(element) {\n if (!is(element, 'zeebe:ZeebeServiceTask')) return false;\n\n if (is(element, 'bpmn:EndEvent') || is(element, 'bpmn:IntermediateThrowEvent')) {\n return !!getMessageEventDefinition(element);\n }\n\n // BusinessRuleTask and ScriptTask are ServiceTasks only if they have a TaskDefinition\n // (ie. if the implementation is set to ==JobWorker)\n if (isAny(element, [ 'bpmn:BusinessRuleTask', 'bpmn:ScriptTask' ]) && !getTaskDefinition(element)) {\n return false;\n }\n\n return true;\n}\n\nexport function isMessageEndEvent(element) {\n return is(element, 'bpmn:EndEvent') && !!getMessageEventDefinition(element);\n}\n\nexport function isMessageThrowEvent(element) {\n return is(element, 'bpmn:IntermediateThrowEvent') && !!getMessageEventDefinition(element);\n}\n\n// helper ////////////////\n\nfunction getTaskDefinition(element) {\n const businessObject = getBusinessObject(element);\n\n return getExtensionElementsList(businessObject, 'zeebe:TaskDefinition')[0];\n}\n","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n getExtensionElementsList\n} from '../../../utils/ExtensionElementsUtil';\n\nimport { isZeebeServiceTask } from './ZeebeServiceTaskUtil';\n\nexport function areHeadersSupported(element) {\n return is(element, 'bpmn:UserTask') || isZeebeServiceTask(element);\n}\n\n/**\n * Get first zeebe:TaskHeaders element for a specific element.\n *\n * @param {ModdleElement} element\n *\n * @return {ModdleElement} a zeebe:TaskHeader element\n */\nexport function getTaskHeaders(element) {\n const businessObject = getBusinessObject(element);\n\n return getExtensionElementsList(businessObject, 'zeebe:TaskHeaders')[0];\n}\n\n/**\n * Retrieve all zeebe:Header elements for a specific element.\n *\n * @param {ModdleElement} element\n *\n * @return {Array} a list of zeebe:Header elements\n */\nexport function getHeaders(element) {\n const taskHeaders = getTaskHeaders(element);\n\n return taskHeaders ? taskHeaders.get('values') : [];\n}\n","import {\n getBusinessObject\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { SelectEntry } from '@bpmn-io/properties-panel';\n\nimport {\n getExtensionElementsList, removeExtensionElements\n} from '../../../utils/ExtensionElementsUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport {\n getTaskHeaders\n} from '../utils/HeadersUtil';\n\nimport { useService } from '../../../hooks';\n\nimport { without } from 'min-dash';\n\nexport const DMN_IMPLEMENTATION_OPTION = 'dmn',\n JOB_WORKER_IMPLEMENTATION_OPTION = 'jobWorker',\n DEFAULT_IMPLEMENTATION_OPTION = '';\n\n\nexport function BusinessRuleImplementationProps(props) {\n const {\n element\n } = props;\n\n if (!is(element, 'bpmn:BusinessRuleTask')) {\n return [];\n }\n\n return [\n {\n id: 'businessRuleImplementation',\n component: BusinessRuleImplementation,\n isEdited: () => isBusinessRuleImplementationEdited(element)\n }\n ];\n}\n\nfunction BusinessRuleImplementation(props) {\n const {\n element,\n id\n } = props;\n\n const commandStack = useService('commandStack');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n\n const getValue = () => {\n if (getCalledDecision(element)) {\n return DMN_IMPLEMENTATION_OPTION;\n }\n\n if (getTaskDefinition(element)) {\n return JOB_WORKER_IMPLEMENTATION_OPTION;\n }\n\n return DEFAULT_IMPLEMENTATION_OPTION;\n };\n\n /**\n * Set value by either creating a zeebe:calledDecision or a zeebe:taskDefintion\n * extension element. Note that they must not exist both at the same time, however\n * this will be ensured by a bpmn-js behavior (and not by the propPanel).\n */\n const setValue = (value) => {\n let extensionElement, extensionElementType;\n\n if (value === DMN_IMPLEMENTATION_OPTION) {\n extensionElement = getCalledDecision(element);\n extensionElementType = 'zeebe:CalledDecision';\n } else if (value === JOB_WORKER_IMPLEMENTATION_OPTION) {\n extensionElement = getTaskDefinition(element);\n extensionElementType = 'zeebe:TaskDefinition';\n } else {\n resetElement(element, commandStack);\n }\n\n if (!extensionElement && extensionElementType) {\n extensionElement = createElement(\n extensionElementType,\n { },\n null,\n bpmnFactory\n );\n\n updateExtensionElements(element, extensionElement, bpmnFactory, commandStack);\n }\n };\n\n const getOptions = () => {\n\n const options = [\n { value: DEFAULT_IMPLEMENTATION_OPTION, label: translate('') },\n { value: DMN_IMPLEMENTATION_OPTION, label: translate('DMN decision') },\n { value: JOB_WORKER_IMPLEMENTATION_OPTION, label: translate('Job worker') }\n ];\n\n return options;\n };\n\n return SelectEntry({\n element,\n id,\n label: translate('Implementation'),\n getValue,\n setValue,\n getOptions\n });\n}\n\n\n// helper ///////////////////////\n\nfunction getTaskDefinition(element) {\n const businessObject = getBusinessObject(element);\n\n return getExtensionElementsList(businessObject, 'zeebe:TaskDefinition')[0];\n}\n\nfunction getCalledDecision(element) {\n const businessObject = getBusinessObject(element);\n\n return getExtensionElementsList(businessObject, 'zeebe:CalledDecision')[0];\n}\n\nfunction isBusinessRuleImplementationEdited(element) {\n return getTaskDefinition(element);\n}\n\nfunction resetElement(element, commandStack) {\n const businessObject = getBusinessObject(element);\n\n const toRemove = [\n getTaskDefinition(element),\n getTaskHeaders(element),\n getCalledDecision(element)\n ].filter(Boolean);\n\n removeExtensionElements(element, businessObject, toRemove, commandStack);\n}\n\nfunction updateExtensionElements(element, extensionElementToAdd, bpmnFactory, commandStack) {\n const businessObject = getBusinessObject(element);\n\n const commands = [];\n\n let extensionElements = businessObject.get('extensionElements');\n let extensionElementValues;\n\n // (1) create bpmn:ExtensionElements if it doesn't exist\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n {\n values: []\n },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: {\n extensionElements\n }\n }\n });\n }\n\n extensionElementToAdd.$parent = extensionElements;\n\n // (2) remove old exension element from extensionElements\n if (is(extensionElementToAdd, 'zeebe:TaskDefinition')) {\n extensionElementValues = without(extensionElements.get('values'), getCalledDecision(element));\n } else if (is(extensionElementToAdd, 'zeebe:CalledDecision')) {\n extensionElementValues = without(extensionElements.get('values'), getTaskDefinition(element));\n }\n\n // (3) add extension element to list\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElementValues, extensionElementToAdd ]\n }\n }\n });\n\n commandStack.execute('properties-panel.multi-command-executor', commands);\n}","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n TextFieldEntry, isTextFieldEntryEdited,\n isFeelEntryEdited\n} from '@bpmn-io/properties-panel';\n\nimport {\n getExtensionElementsList\n} from '../../../utils/ExtensionElementsUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport { useService } from '../../../hooks';\n\nimport { FeelEntryWithVariableContext } from '../../../entries/FeelEntryWithContext';\n\n\n\nexport function CalledDecisionProps(props) {\n const {\n element\n } = props;\n\n if (!is(element, 'bpmn:BusinessRuleTask') || !getCalledDecision(element)) {\n return [];\n }\n\n return [\n {\n id: 'decisionId',\n component: DecisionID,\n isEdited: isFeelEntryEdited\n },\n {\n id: 'resultVariable',\n component: ResultVariable,\n isEdited: isTextFieldEntryEdited\n }\n ];\n}\n\nfunction DecisionID(props) {\n const {\n element,\n id\n } = props;\n\n const commandStack = useService('commandStack');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return (getCalledDecision(element) || {}).decisionId;\n };\n\n const setValue = (value) => {\n const commands = [];\n\n const businessObject = getBusinessObject(element);\n\n let extensionElements = businessObject.get('extensionElements');\n\n // (1) ensure extension elements\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) ensure calledDecision\n let calledDecision = getCalledDecision(element);\n\n if (!calledDecision) {\n calledDecision = createElement(\n 'zeebe:CalledDecision',\n { },\n extensionElements,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), calledDecision ]\n }\n }\n });\n }\n\n // (3) update caledDecision.decisionId\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: calledDecision,\n properties: { decisionId: value }\n }\n });\n\n // (4) commit all updates\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n return FeelEntryWithVariableContext({\n element,\n id,\n label: translate('Decision ID'),\n feel: 'optional',\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction ResultVariable(props) {\n const {\n element,\n id\n } = props;\n\n const commandStack = useService('commandStack');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return (getCalledDecision(element) || {}).resultVariable;\n };\n\n const setValue = (value) => {\n const commands = [];\n\n const businessObject = getBusinessObject(element);\n\n let extensionElements = businessObject.get('extensionElements');\n\n // (1) ensure extension elements\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) ensure calledDecision\n let calledDecision = getCalledDecision(element);\n\n if (!calledDecision) {\n calledDecision = createElement(\n 'zeebe:CalledDecision',\n { },\n extensionElements,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), calledDecision ]\n }\n }\n });\n }\n\n // (3) update caledDecision.decisionId\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: calledDecision,\n properties: { resultVariable: value }\n }\n });\n\n // (4) commit all updates\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n return TextFieldEntry({\n element,\n id,\n label: translate('Result variable'),\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper ///////////////////////\n\nfunction getCalledDecision(element) {\n const businessObject = getBusinessObject(element);\n\n return getExtensionElementsList(businessObject, 'zeebe:CalledDecision')[0];\n}","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n isAny\n} from 'bpmn-js/lib/features/modeling/util/ModelingUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport { isFeelEntryEdited } from '@bpmn-io/properties-panel';\n\nimport { FeelEntryWithVariableContext } from '../../../entries/FeelEntryWithContext';\n\n\nexport function ConditionProps(props) {\n const {\n element\n } = props;\n\n if (!is(element, 'bpmn:SequenceFlow')) {\n return [];\n }\n\n const conditionProps = [];\n\n if (isConditionalSource(element.source)) {\n conditionProps.push({\n id: 'conditionExpression',\n component: ConditionExpression,\n isEdited: isFeelEntryEdited\n });\n }\n\n return conditionProps;\n}\n\nfunction ConditionExpression(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack'),\n bpmnFactory = useService('bpmnFactory'),\n translate = useService('translate'),\n debounce = useService('debounceInput');\n\n const getValue = () => {\n return getConditionExpression(element);\n };\n\n const setValue = (value) => {\n const commands = [];\n\n const businessObject = getBusinessObject(element);\n\n // (1) If we set value to a default flow, make it a non-default flow\n // by updating the element source\n const source = element.source;\n\n if (source.businessObject.default === businessObject) {\n commands.push({\n cmd: 'element.updateProperties',\n context: {\n element: source,\n properties: { 'default': undefined }\n }\n });\n }\n\n // (2) Create and set formalExpression element containing the conditionExpression,\n // unless the provided value is empty\n const formalExpressionElement = (value && value != '') ?\n createElement(\n 'bpmn:FormalExpression',\n {\n body: value\n },\n businessObject,\n bpmnFactory\n )\n : undefined;\n\n commands.push({\n cmd: 'element.updateProperties',\n context: {\n element: element,\n properties: {\n conditionExpression: formalExpressionElement\n }\n }\n });\n\n // (3) Execute the commands\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n return FeelEntryWithVariableContext({\n element,\n id: 'conditionExpression',\n label: translate('Condition expression'),\n feel: 'required',\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper //////////////////////////\n\nconst CONDITIONAL_SOURCES = [\n 'bpmn:Activity',\n 'bpmn:ExclusiveGateway',\n 'bpmn:InclusiveGateway'\n];\n\nfunction isConditionalSource(element) {\n return isAny(element, CONDITIONAL_SOURCES);\n}\n\n/**\n * getConditionExpression - get the body value of a condition expression for a given element\n *\n * @param {ModdleElement} element\n *\n * @return {string|undefined}\n */\nfunction getConditionExpression(element) {\n const businessObject = getBusinessObject(element);\n\n const conditionExpression = businessObject.conditionExpression;\n\n if (conditionExpression) {\n return conditionExpression.get('body');\n }\n}\n","import {\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n isFeelEntryEdited\n} from '@bpmn-io/properties-panel';\n\nimport { useService } from '../../../hooks';\n\n\nimport {\n getError\n} from '../../bpmn/utils/EventDefinitionUtil';\n\nimport { FeelEntryWithVariableContext } from '../../../entries/FeelEntryWithContext';\n\n\nexport function ErrorProps(props) {\n const {\n element\n } = props;\n\n const error = getError(element);\n\n const entries = [];\n\n if (error && is(element, 'bpmn:ThrowEvent')) {\n entries.push(\n {\n id: 'errorCode',\n component: ErrorCode,\n isEdited: isFeelEntryEdited\n }\n );\n }\n\n return entries;\n}\n\n\nfunction ErrorCode(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const error = getError(element);\n\n const getValue = () => {\n return error.get('errorCode');\n };\n\n const setValue = (value) => {\n return commandStack.execute(\n 'element.updateModdleProperties',\n {\n element,\n moddleElement: error,\n properties: {\n errorCode: value\n }\n }\n );\n };\n\n return FeelEntryWithVariableContext({\n element,\n id: 'errorCode',\n label: translate('Code'),\n feel: 'optional',\n getValue,\n setValue,\n debounce\n });\n}\n","import {\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n isFeelEntryEdited\n} from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n getEscalation\n} from '../../bpmn/utils/EventDefinitionUtil';\n\nimport { FeelEntryWithVariableContext } from '../../../entries/FeelEntryWithContext';\n\n\n/**\n * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry\n */\n\n/**\n * @returns {Array} entries\n */\nexport function EscalationProps(props) {\n const {\n element\n } = props;\n\n // update throw events only\n if (!is(element, 'bpmn:ThrowEvent')) {\n return [];\n }\n\n const escalation = getEscalation(element);\n\n const entries = [];\n\n if (escalation) {\n entries.push(\n {\n id: 'escalationCode',\n component: EscalationCode,\n isEdited: isFeelEntryEdited\n }\n );\n }\n\n return entries;\n}\n\nfunction EscalationCode(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const escalation = getEscalation(element);\n\n const getValue = () => {\n return escalation.get('escalationCode');\n };\n\n const setValue = (value) => {\n return commandStack.execute(\n 'element.updateModdleProperties',\n {\n element,\n moddleElement: escalation,\n properties: {\n escalationCode: value\n }\n }\n );\n };\n\n return FeelEntryWithVariableContext({\n element,\n id: 'escalationCode',\n label: translate('Code'),\n feel: 'optional',\n getValue,\n setValue,\n debounce\n });\n}\n","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n SelectEntry,\n TextFieldEntry,\n TextAreaEntry,\n isSelectEntryEdited,\n isTextFieldEntryEdited,\n isTextAreaEntryEdited\n} from '@bpmn-io/properties-panel';\n\nimport {\n createElement,\n nextId\n} from '../../../utils/ElementUtil';\n\nimport {\n getExtensionElementsList\n} from '../../../utils/ExtensionElementsUtil';\n\nimport {\n find,\n isUndefined,\n without\n} from 'min-dash';\n\nimport {\n useService\n} from '../../../hooks';\n\n\nexport function FormProps(props) {\n const {\n element,\n injector\n } = props;\n\n const formHelper = injector.invoke(FormHelper);\n\n if (!is(element, 'bpmn:UserTask')) {\n return [];\n }\n\n const entries = [ {\n id: 'formType',\n component: FormType,\n isEdited: isSelectEntryEdited\n } ];\n\n if (isCamundaForm(element, formHelper)) {\n entries.push({\n id: 'formConfiguration',\n component: FormConfiguration,\n isEdited: isTextAreaEntryEdited\n });\n\n } else if (isCustomKey(element, formHelper)) {\n entries.push({\n id: 'customFormKey',\n component: CustomFormKey,\n isEdited: isTextFieldEntryEdited\n });\n }\n\n return entries;\n}\n\n\nfunction FormType(props) {\n\n const {\n element\n } = props;\n\n const translate = useService('translate');\n const injector = useService('injector');\n const formHelper = injector.invoke(FormHelper);\n\n const getValue = () => {\n const formDefinition = formHelper.getFormDefinition(element);\n const userTaskForm = formHelper.getUserTaskForm(element);\n\n if (formDefinition) {\n\n if (userTaskForm) {\n return 'camundaForm';\n }\n\n return 'formKey';\n }\n\n return '';\n };\n\n const setValue = (value) => {\n formHelper.resetForm(element);\n\n if (value === 'camundaForm') {\n formHelper.setUserTaskForm(element, '');\n\n } else if (value === 'formKey') {\n formHelper.setFormDefinition(element, '');\n }\n };\n\n const getOptions = () => {\n return [\n { value: '', label: translate('') },\n { value: 'camundaForm', label: translate('Camunda forms') },\n { value: 'formKey', label: translate('Custom form key') },\n ];\n };\n\n return SelectEntry({\n element,\n id: 'formType',\n label: translate('Type'),\n getValue,\n setValue,\n getOptions\n });\n}\n\nfunction FormConfiguration(props) {\n const {\n element\n } = props;\n\n const injector = useService('injector');\n const debounce = useService('debounceInput');\n const translate = useService('translate');\n const formHelper = injector.invoke(FormHelper);\n\n const getValue = () => {\n const userTaskForm = formHelper.getUserTaskForm(element);\n return userTaskForm.get('body');\n };\n\n const setValue = (value) => {\n formHelper.setUserTaskForm(element, value);\n };\n\n return TextAreaEntry({\n element,\n id: 'formConfiguration',\n label: translate('Form JSON configuration'),\n rows: 4,\n getValue,\n setValue,\n debounce\n });\n}\n\n\nfunction CustomFormKey(props) {\n const {\n element\n } = props;\n\n const injector = useService('injector');\n const debounce = useService('debounceInput');\n const translate = useService('translate');\n const formHelper = injector.invoke(FormHelper);\n\n const getValue = () => {\n const formDefinition = formHelper.getFormDefinition(element);\n return formDefinition.get('formKey');\n };\n\n const setValue = (value) => {\n formHelper.setFormDefinition(element, value);\n };\n\n return TextFieldEntry({\n element,\n id: 'customFormKey',\n label: translate('Form key'),\n getValue,\n setValue,\n debounce\n });\n}\n\n\nconst USER_TASK_FORM_PREFIX = 'userTaskForm_';\n\nfunction FormHelper(bpmnFactory, commandStack) {\n\n function getFormDefinition(element) {\n const businessObject = getBusinessObject(element);\n\n const formDefinitions = getExtensionElementsList(businessObject, 'zeebe:FormDefinition');\n\n return formDefinitions[0];\n }\n\n function getUserTaskForm(element, parent) {\n\n const rootElement = parent || getRootElement(element);\n\n // (1) get form definition from user task\n const formDefinition = getFormDefinition(element);\n\n if (isUndefined(formDefinition)) {\n return;\n }\n\n const formKey = formDefinition.get('formKey');\n\n // (2) retrieve user task form via form key\n const userTaskForm = findUserTaskForm(formKey, rootElement);\n\n return userTaskForm;\n }\n\n function ensureTaskForm(element, values) {\n\n let commands = [];\n\n const rootElement = getRootElement(element);\n\n // (1) ensure root element extension elements\n let rootExtensionElements = rootElement.get('extensionElements');\n\n if (!rootExtensionElements) {\n rootExtensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n rootElement,\n bpmnFactory\n );\n\n commands.push(\n UpdateModdlePropertiesCmd(element, rootElement, {\n extensionElements: rootExtensionElements,\n })\n );\n }\n\n // (2) ensure user task form\n let userTaskForm = getUserTaskForm(element);\n\n // (2.1) create user task form if doesn't exist\n if (!userTaskForm) {\n userTaskForm = createUserTaskForm(\n values,\n rootExtensionElements,\n bpmnFactory\n );\n\n commands.push(\n UpdateModdlePropertiesCmd(element, rootExtensionElements,{\n values: [ ...rootExtensionElements.get('values'), userTaskForm ]\n })\n );\n }\n\n commands.push(UpdateModdlePropertiesCmd(element, userTaskForm, values));\n\n return commands;\n }\n\n function ensureFormDefinition(element, customFormKey) {\n const businessObject = getBusinessObject(element);\n\n let commands = [];\n\n // (1) ensure extension elements\n let extensionElements = businessObject.get('extensionElements');\n\n if (isUndefined(extensionElements)) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push(\n UpdateModdlePropertiesCmd(element, businessObject, {\n extensionElements: extensionElements,\n })\n );\n }\n\n // (2) ensure form definition\n let formDefinition = getFormDefinition(element);\n\n // (2.1) create if doesn't exist\n if (!formDefinition) {\n let formKey = customFormKey;\n\n if (isUndefined(formKey)) {\n const formId = createFormId();\n formKey = createFormKey(formId);\n }\n\n formDefinition = createFormDefinition(\n {\n formKey\n },\n extensionElements,\n bpmnFactory\n );\n\n commands.push(\n UpdateModdlePropertiesCmd(element, extensionElements, {\n values: [ ...extensionElements.get('values'), formDefinition ]\n })\n );\n }\n\n // (2.2) update existing form definition with custom key\n else if (customFormKey) {\n commands.push(\n UpdateModdlePropertiesCmd(element, formDefinition, {\n formKey: customFormKey\n })\n );\n }\n\n return {\n formId: resolveFormId(formDefinition.get('formKey')),\n commands\n };\n }\n\n function setFormDefinition(element, customFormKey) {\n\n const {\n commands\n } = ensureFormDefinition(element, customFormKey);\n\n commandStack.execute('properties-panel.multi-command-executor', commands);\n }\n\n function setUserTaskForm(element, value) {\n\n const {\n formId,\n commands: formDefCommands\n } = ensureFormDefinition(element);\n\n const userTaskCommands = ensureTaskForm(element, { id:formId, body:value });\n const commands = formDefCommands.concat(userTaskCommands);\n\n commandStack.execute('properties-panel.multi-command-executor', commands);\n }\n\n function unsetFormDefinition(element) {\n\n const businessObject = getBusinessObject(element),\n extensionElements = businessObject.get('extensionElements');\n\n let commands = [];\n\n const formDefinition = getFormDefinition(element);\n\n if (!formDefinition) {\n return commands;\n }\n\n let values = without(extensionElements.get('values'), formDefinition);\n\n commands.push(\n UpdateModdlePropertiesCmd(element, extensionElements, { values })\n );\n\n return commands;\n }\n\n function resetForm(element) {\n\n const rootElement = getRootElement(element),\n rootExtensionElements = rootElement.get('extensionElements');\n\n // (1) remove form definition\n const commands = unsetFormDefinition(element);\n\n // (2) remove referenced user task form\n const userTaskForm = getUserTaskForm(element);\n\n if (!userTaskForm) {\n commandStack.execute('properties-panel.multi-command-executor', commands);\n return;\n }\n\n const values = without(rootExtensionElements.get('values'), userTaskForm);\n\n commands.push(\n UpdateModdlePropertiesCmd(element, rootExtensionElements, { values })\n );\n\n commandStack.execute('properties-panel.multi-command-executor', commands);\n\n }\n\n function createFormKey(formId) {\n return 'camunda-forms:bpmn:' + formId;\n }\n\n function createFormId() {\n return nextId(USER_TASK_FORM_PREFIX);\n }\n\n function resolveFormId(formKey) {\n return formKey.split(':')[2];\n }\n\n function createFormDefinition(properties, extensionElements, bpmnFactory) {\n return createElement(\n 'zeebe:FormDefinition',\n properties,\n extensionElements,\n bpmnFactory\n );\n }\n\n function createUserTaskForm(properties, extensionElements, bpmnFactory) {\n return createElement(\n 'zeebe:UserTaskForm',\n properties,\n extensionElements,\n bpmnFactory\n );\n }\n\n function findUserTaskForm(formKey, rootElement) {\n const forms = getExtensionElementsList(rootElement, 'zeebe:UserTaskForm');\n\n return find(forms, function(userTaskForm) {\n return createFormKey(userTaskForm.id) === formKey;\n });\n }\n\n function getRootElement(element) {\n const businessObject = getBusinessObject(element);\n\n let parent = businessObject;\n\n while (parent.$parent && !is(parent, 'bpmn:Process')) {\n parent = parent.$parent;\n }\n\n return parent;\n }\n\n return {\n getFormDefinition,\n getUserTaskForm,\n setFormDefinition,\n setUserTaskForm,\n resetForm\n };\n\n}\n\nFormHelper.$inject = [ 'bpmnFactory', 'commandStack' ];\n\n\n// helpers /////////////\n\nfunction UpdateModdlePropertiesCmd(element, businessObject, newProperties) {\n return {\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: newProperties\n }\n };\n}\n\nfunction isCamundaForm(element, formHelper) {\n const formDefinition = formHelper.getFormDefinition(element);\n const userTaskForm = formHelper.getUserTaskForm(element);\n\n return formDefinition && userTaskForm;\n}\n\nfunction isCustomKey(element, formHelper) {\n const formDefinition = formHelper.getFormDefinition(element);\n const userTaskForm = formHelper.getUserTaskForm(element);\n\n return formDefinition && !userTaskForm;\n}","import { TextFieldEntry } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\n\nexport default function Header(props) {\n\n const {\n idPrefix,\n header\n } = props;\n\n const entries = [ {\n id: idPrefix + '-key',\n component: KeyProperty,\n header,\n idPrefix\n },{\n id: idPrefix + '-value',\n component: ValueProperty,\n header,\n idPrefix\n } ];\n\n return entries;\n}\n\nfunction KeyProperty(props) {\n const {\n idPrefix,\n element,\n header\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: header,\n properties: {\n key: value\n }\n });\n };\n\n const getValue = (header) => {\n return header.key;\n };\n\n return TextFieldEntry({\n element: header,\n id: idPrefix + '-key',\n label: translate('Key'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction ValueProperty(props) {\n const {\n idPrefix,\n element,\n header\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: header,\n properties: {\n value\n }\n });\n };\n\n const getValue = (header) => {\n return header.value;\n };\n\n return TextFieldEntry({\n element: header,\n id: idPrefix + '-value',\n label: translate('Value'),\n getValue,\n setValue,\n debounce\n });\n}","import {\n getBusinessObject\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport Header from './Header';\n\nimport {\n areHeadersSupported,\n getHeaders,\n getTaskHeaders\n} from '../utils/HeadersUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport { without } from 'min-dash';\n\n\nexport function HeaderProps({ element, injector }) {\n\n if (!areHeadersSupported(element)) {\n return null;\n }\n\n const headers = getHeaders(element) || [];\n\n const bpmnFactory = injector.get('bpmnFactory'),\n commandStack = injector.get('commandStack');\n\n const items = headers.map((header, index) => {\n const id = element.id + '-header-' + index;\n\n return {\n id,\n label: header.get('key') || '',\n entries: Header({\n idPrefix: id,\n element,\n header\n }),\n autoFocusEntry: id + '-key',\n remove: removeFactory({ commandStack, element, header })\n };\n });\n\n return {\n items,\n add: addFactory({ bpmnFactory, commandStack, element }),\n shouldSort: false\n };\n}\n\nfunction removeFactory({ commandStack, element, header }) {\n return function(event) {\n event.stopPropagation();\n\n let commands = [];\n\n const taskHeaders = getTaskHeaders(element);\n\n if (!taskHeaders) {\n return;\n }\n\n const newTaskHeaders = without(taskHeaders.get('values'), header);\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: taskHeaders,\n properties: {\n values: newTaskHeaders\n }\n }\n });\n\n // remove zeebe:TaskHeaders if there are no headers anymore\n if (!newTaskHeaders.length) {\n const businessObject = getBusinessObject(element),\n extensionElements = businessObject.get('extensionElements');\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: without(extensionElements.get('values'), taskHeaders)\n }\n }\n });\n }\n\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n}\n\nfunction addFactory({ bpmnFactory, commandStack, element }) {\n return function(event) {\n\n event.stopPropagation();\n\n let commands = [];\n\n const businessObject = getBusinessObject(element);\n\n let extensionElements = businessObject.get('extensionElements');\n\n // (1) ensure extension elements\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) ensure zeebe:TaskHeaders\n let taskHeaders = getTaskHeaders(element);\n\n if (!taskHeaders) {\n const parent = extensionElements;\n\n taskHeaders = createElement('zeebe:TaskHeaders', {\n values: []\n }, parent, bpmnFactory);\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), taskHeaders ]\n }\n }\n });\n }\n\n // (3) create header\n const header = createElement('zeebe:Header', {}, taskHeaders, bpmnFactory);\n\n // (4) add header to list\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: taskHeaders,\n properties: {\n values: [ ...taskHeaders.get('values'), header ]\n }\n }\n });\n\n commandStack.execute('properties-panel.multi-command-executor', commands);\n\n };\n}\n","import {\n getBusinessObject\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n getExtensionElementsList\n} from '../../../utils/ExtensionElementsUtil';\n\n\nexport function getPropagateAllChildVariables(element) {\n const calledElement = getCalledElement(element);\n\n return calledElement ? calledElement.get('propagateAllChildVariables') : undefined;\n}\n\nexport function getPropagateAllParentVariables(element) {\n const calledElement = getCalledElement(element);\n\n return calledElement ? calledElement.get('propagateAllParentVariables') : undefined;\n}\n\nexport function getProcessId(element) {\n const calledElement = getCalledElement(element);\n\n return calledElement ? calledElement.get('processId') : '';\n}\n\nexport function getCalledElement(element) {\n const calledElements = getCalledElements(element);\n return calledElements[0];\n}\n\nfunction getCalledElements(element) {\n const bo = getBusinessObject(element);\n const extElements = getExtensionElementsList(bo, 'zeebe:CalledElement');\n return extElements;\n}\n","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n getCalledElement\n} from '../utils/CalledElementUtil.js';\n\nimport {\n has\n} from 'min-dash';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport { ToggleSwitchEntry, isToggleSwitchEntryEdited } from '@bpmn-io/properties-panel';\n\n\nexport function InputPropagationProps(props) {\n const {\n element\n } = props;\n\n if (!is(element, 'bpmn:CallActivity')) {\n return [];\n }\n\n return [\n {\n id: 'propagateAllParentVariables',\n component: PropagateAllParentVariables,\n isEdited: isToggleSwitchEntryEdited\n }\n ];\n}\n\nfunction PropagateAllParentVariables(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack'),\n bpmnFactory = useService('bpmnFactory'),\n translate = useService('translate');\n\n const propagateAllParentVariables = isPropagateAllParentVariables(element);\n\n const getValue = () => {\n return propagateAllParentVariables;\n };\n\n const setValue = (value) => {\n const commands = [];\n\n const businessObject = getBusinessObject(element);\n\n // (1) ensure extension elements\n let extensionElements = businessObject.get('extensionElements');\n\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) ensure zeebe:calledElement\n let calledElement = getCalledElement(businessObject);\n\n if (!calledElement) {\n calledElement = createElement(\n 'zeebe:CalledElement',\n { },\n extensionElements,\n bpmnFactory);\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), calledElement ]\n }\n }\n });\n\n }\n\n // (3) Update propagateAllParentVariables attribute\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: calledElement,\n properties: {\n propagateAllParentVariables: value\n }\n }\n });\n\n // (4) Execute the commands\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n return ToggleSwitchEntry({\n id: 'propagateAllParentVariables',\n label: translate('Propagate all variables'),\n switcherLabel: propagateAllParentVariables ?\n translate('On') :\n translate('Off'),\n tooltip:
\n

{translate('If turned on, all variables from this process instance will be propagated to the child process instance.')}

\n

{translate('Otherwise, only variables defined via input mappings will be propagated.')}

\n
,\n getValue,\n setValue\n });\n}\n\n\n// helper //////////////////////////\n\n/**\n * Check whether the propagateAllParentVariables attribute is set on an element.\n * @param {Object} element\n *\n * @returns {boolean}\n */\nexport function isPropagateAllParentVariables(element) {\n if (!is(element, 'bpmn:CallActivity')) {\n return undefined;\n }\n\n const bo = getBusinessObject(element),\n calledElement = getCalledElement(bo);\n\n return calledElement && has(calledElement, 'propagateAllParentVariables') ?\n calledElement.get('propagateAllParentVariables') :\n /* default value */ true;\n}\n","import {\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { TextFieldEntry } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport { FeelEntryWithVariableContext } from '../../../entries/FeelEntryWithContext';\n\n\nexport default function InputOutputParameter(props) {\n\n const {\n idPrefix,\n parameter\n } = props;\n\n const entries = [ {\n id: idPrefix + '-target',\n component: TargetProperty,\n idPrefix,\n parameter\n },{\n id: idPrefix + '-source',\n component: SourceProperty,\n idPrefix,\n parameter\n } ];\n\n return entries;\n}\n\nfunction TargetProperty(props) {\n const {\n idPrefix,\n element,\n parameter\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: parameter,\n properties: {\n target: value\n }\n });\n };\n\n const getValue = (parameter) => {\n return parameter.target;\n };\n\n return TextFieldEntry({\n element: parameter,\n id: idPrefix + '-target',\n label: translate((is(parameter, 'zeebe:Input') ? 'Local variable name' : 'Process variable name')),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction SourceProperty(props) {\n const {\n idPrefix,\n element,\n parameter\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: parameter,\n properties: {\n source: value\n }\n });\n };\n\n const getValue = (parameter) => {\n return parameter.source;\n };\n\n return FeelEntryWithVariableContext({\n bpmnElement: element,\n element: parameter,\n id: idPrefix + '-source',\n label: translate('Variable assignment value'),\n feel: 'required',\n getValue,\n setValue,\n debounce\n });\n}","import {\n isAny\n} from 'bpmn-js/lib/features/modeling/util/ModelingUtil';\n\nimport {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n getExtensionElementsList\n} from '../../../utils/ExtensionElementsUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\nimport { isZeebeServiceTask } from './ZeebeServiceTaskUtil';\n\nimport {\n getErrorEventDefinition,\n getEventDefinition\n} from '../../bpmn/utils/EventDefinitionUtil';\n\nfunction getElements(bo, type, prop) {\n const elems = getExtensionElementsList(bo, type);\n return !prop ? elems : (elems[0] || {})[prop] || [];\n}\n\nfunction getParameters(element, prop) {\n const ioMapping = getIoMapping(element);\n return (ioMapping && ioMapping.get(prop)) || [];\n}\n\n/**\n * Get a ioMapping from the business object\n *\n * @param {djs.model.Base} element\n *\n * @return {ModdleElement} the ioMapping object\n */\nexport function getIoMapping(element) {\n const bo = getBusinessObject(element);\n return (getElements(bo, 'zeebe:IoMapping') || [])[0];\n}\n\n\n/**\n * Return all input parameters existing in the business object, and\n * an empty array if none exist.\n *\n * @param {djs.model.Base} element\n *\n * @return {Array} a list of input parameter objects\n */\nexport function getInputParameters(element) {\n return getParameters.apply(this, [ element, 'inputParameters' ]);\n}\n\n/**\n * Return all output parameters existing in the business object, and\n * an empty array if none exist.\n *\n * @param {djs.model.Base} element\n *\n * @return {Array} a list of output parameter objects\n */\nexport function getOutputParameters(element) {\n return getParameters.apply(this, [ element, 'outputParameters' ]);\n}\n\nexport function areInputParametersSupported(element) {\n return isAny(element, [\n 'bpmn:UserTask',\n 'bpmn:SubProcess',\n 'bpmn:CallActivity',\n 'bpmn:BusinessRuleTask',\n 'bpmn:ScriptTask'\n ]) || isZeebeServiceTask(element) || isSignalThrowEvent(element);\n}\n\nexport function areOutputParametersSupported(element) {\n\n if (is(element, 'bpmn:EndEvent') && getErrorEventDefinition(element)) {\n return false;\n }\n\n return isAny(element, [\n 'zeebe:ZeebeServiceTask',\n 'bpmn:UserTask',\n 'bpmn:SubProcess',\n 'bpmn:ReceiveTask',\n 'bpmn:CallActivity',\n 'bpmn:Event',\n 'bpmn:BusinessRuleTask'\n ]);\n}\n\nexport function createIOMapping(properties, parent, bpmnFactory) {\n return createElement('zeebe:IoMapping', properties, parent, bpmnFactory);\n}\n\nfunction isSignalThrowEvent(element) {\n if (!isAny(element, [\n 'bpmn:EndEvent',\n 'bpmn:IntermediateThrowEvent'\n ])) {\n return false;\n }\n\n return !!getEventDefinition(element, 'bpmn:SignalEventDefinition');\n}\n","import {\n getBusinessObject\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport InputOutputParameter from './InputOutputParameter';\n\nimport {\n areInputParametersSupported,\n createIOMapping,\n getInputParameters,\n getIoMapping\n} from '../utils/InputOutputUtil';\n\nimport {\n createElement,\n nextId\n} from '../../../utils/ElementUtil';\n\nimport { without } from 'min-dash';\n\n\nexport function InputProps({ element, injector }) {\n\n if (!areInputParametersSupported(element)) {\n return null;\n }\n\n const inputParameters = getInputParameters(element) || [];\n\n const bpmnFactory = injector.get('bpmnFactory'),\n commandStack = injector.get('commandStack');\n\n const items = inputParameters.map((parameter, index) => {\n const id = element.id + '-input-' + index;\n\n return {\n id,\n label: parameter.get('target') || '',\n entries: InputOutputParameter({\n idPrefix: id,\n element,\n parameter\n }),\n autoFocusEntry: id + '-target',\n remove: removeFactory({ commandStack, element, parameter })\n };\n });\n\n return {\n items,\n add: addFactory({ element, bpmnFactory, commandStack }),\n shouldSort: false\n };\n}\n\nfunction removeFactory({ commandStack, element, parameter }) {\n return function(event) {\n event.stopPropagation();\n\n const commands = [];\n\n const ioMapping = getIoMapping(element);\n\n if (!ioMapping) {\n return;\n }\n\n const inputParameters = without(ioMapping.get('inputParameters'), parameter);\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: ioMapping,\n properties: {\n inputParameters\n }\n }\n });\n\n const businessObject = getBusinessObject(element),\n extensionElements = businessObject.get('extensionElements'),\n values = without(extensionElements.get('values'), ioMapping);\n\n // remove ioMapping if there are no input/output parameters anymore\n if (!inputParameters.length && !ioMapping.get('outputParameters').length) {\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values\n }\n }\n });\n }\n\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n}\n\nfunction addFactory({ element, bpmnFactory, commandStack }) {\n return function(event) {\n event.stopPropagation();\n\n const commands = [];\n\n const businessObject = getBusinessObject(element);\n\n let extensionElements = businessObject.get('extensionElements');\n\n // (1) ensure extension elements\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) ensure IoMapping\n let ioMapping = getIoMapping(element);\n\n if (!ioMapping) {\n ioMapping = createIOMapping({\n inputParameters: [],\n outputParameters: []\n }, extensionElements, bpmnFactory);\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), ioMapping ]\n }\n }\n });\n }\n\n // (3) create parameter\n const newParameter = createElement('zeebe:Input', {\n target: nextId('InputVariable_')\n }, ioMapping, bpmnFactory);\n\n // (4) add parameter to list\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: ioMapping,\n properties: {\n inputParameters: [ ...ioMapping.get('inputParameters'), newParameter ]\n }\n }\n });\n\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n}\n","import { is } from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n isEventSubProcess\n} from 'bpmn-js/lib/util/DiUtil';\n\nimport {\n isFeelEntryEdited\n} from '@bpmn-io/properties-panel';\n\nimport { useService } from '../../../hooks';\n\n\nimport {\n getMessage\n} from '../../bpmn/utils/EventDefinitionUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport {\n getExtensionElementsList\n} from '../../../utils/ExtensionElementsUtil';\n\nimport { FeelEntryWithVariableContext } from '../../../entries/FeelEntryWithContext';\n\n\nexport function MessageProps(props) {\n const {\n element\n } = props;\n\n const message = getMessage(element);\n\n const entries = [];\n\n if (message) {\n entries.push(\n {\n id: 'messageName',\n component: MessageName,\n isEdited: isFeelEntryEdited\n }\n );\n }\n\n if (message && canHaveSubscriptionCorrelationKey(element)) {\n entries.push({\n id: 'messageSubscriptionCorrelationKey',\n component: SubscriptionCorrelationKey,\n isEdited: isFeelEntryEdited\n });\n }\n\n return entries;\n}\n\n\nfunction MessageName(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const message = getMessage(element);\n\n const getValue = () => {\n return message.get('name');\n };\n\n const setValue = (value) => {\n return commandStack.execute(\n 'element.updateModdleProperties',\n {\n element,\n moddleElement: message,\n properties: {\n name: value\n }\n }\n );\n };\n\n return FeelEntryWithVariableContext({\n element,\n id: 'messageName',\n label: translate('Name'),\n feel: 'optional',\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction SubscriptionCorrelationKey(props) {\n const { element } = props;\n\n const bpmnFactory = useService('bpmnFactory');\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return getCorrelationKey(element);\n };\n\n const setValue = (value) => {\n const commands = [];\n\n const message = getMessage(element);\n\n let extensionElements = message.get('extensionElements');\n\n // (1) ensure extension elements\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n message,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: message,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) ensure subscription\n let subscription = getSubscription(element);\n\n if (!subscription) {\n subscription = createElement(\n 'zeebe:Subscription',\n { },\n extensionElements,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), subscription ]\n }\n }\n });\n }\n\n // (3) update subscription correlation key\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: subscription,\n properties: { correlationKey: value }\n }\n });\n\n // (4) commit all updates\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n return FeelEntryWithVariableContext({\n element,\n id: 'messageSubscriptionCorrelationKey',\n label: translate('Subscription correlation key'),\n feel: 'required',\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper ///////////////////////\n\nfunction canHaveSubscriptionCorrelationKey(element) {\n\n // (1) allow for receive task\n if (is(element, 'bpmn:ReceiveTask')) {\n return true;\n }\n\n // (2) allow for non start events\n if (!is(element, 'bpmn:StartEvent')) {\n return true;\n }\n\n // (3) allow for start events inside event sub processes\n if (is(element, 'bpmn:StartEvent') && isEventSubProcess(element.parent)) {\n return true;\n }\n\n return false;\n}\n\nfunction getCorrelationKey(element) {\n const subscription = getSubscription(element);\n\n return subscription ? subscription.get('correlationKey') : '';\n}\n\nfunction getSubscription(element) {\n const message = getMessage(element);\n const subscriptions = getSubscriptions(message);\n\n return subscriptions[0];\n}\n\nfunction getSubscriptions(message) {\n const extensionElements = getExtensionElementsList(message, 'zeebe:Subscription');\n return extensionElements;\n}\n","import {\n getBusinessObject\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n TextFieldEntry, isTextFieldEntryEdited,\n isFeelEntryEdited\n} from '@bpmn-io/properties-panel';\n\nimport {\n getExtensionElementsList\n} from '../../../utils/ExtensionElementsUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport { useService } from '../../../hooks';\n\nimport { FeelEntryWithVariableContext } from '../../../entries/FeelEntryWithContext';\n\n\nexport function MultiInstanceProps(props) {\n const {\n element\n } = props;\n\n if (!supportsMultiInstances(element)) {\n return [];\n }\n\n return [\n {\n id: 'multiInstance-inputCollection',\n component: InputCollection,\n isEdited: isFeelEntryEdited\n },\n {\n id: 'multiInstance-inputElement',\n component: InputElement,\n isEdited: isTextFieldEntryEdited\n },\n {\n id: 'multiInstance-outputCollection',\n component: OutputCollection,\n isEdited: isTextFieldEntryEdited\n },\n {\n id: 'multiInstance-outputElement',\n component: OutputElement,\n isEdited: isFeelEntryEdited\n },\n {\n id: 'multiInstance-completionCondition',\n component: CompletionCondition,\n isEdited: isFeelEntryEdited\n }\n ];\n}\n\nfunction InputCollection(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return getProperty(element, 'inputCollection');\n };\n\n const setValue = (value) => {\n return setProperty(element, 'inputCollection', value, commandStack, bpmnFactory);\n };\n\n return FeelEntryWithVariableContext({\n element,\n id: 'multiInstance-inputCollection',\n label: translate('Input collection'),\n feel: 'required',\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction InputElement(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return getProperty(element, 'inputElement');\n };\n\n const setValue = (value) => {\n return setProperty(element, 'inputElement', value, commandStack, bpmnFactory);\n };\n\n return TextFieldEntry({\n element,\n id: 'multiInstance-inputElement',\n label: translate('Input element'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction OutputCollection(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return getProperty(element, 'outputCollection');\n };\n\n const setValue = (value) => {\n return setProperty(element, 'outputCollection', value, commandStack, bpmnFactory);\n };\n\n return TextFieldEntry({\n element,\n id: 'multiInstance-outputCollection',\n label: translate('Output collection'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction OutputElement(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return getProperty(element, 'outputElement');\n };\n\n const setValue = (value) => {\n return setProperty(element, 'outputElement', value, commandStack, bpmnFactory);\n };\n\n return FeelEntryWithVariableContext({\n element,\n id: 'multiInstance-outputElement',\n label: translate('Output element'),\n feel: 'required',\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction CompletionCondition(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n const completionCondition = getCompletionCondition(element);\n return completionCondition && completionCondition.get('body');\n };\n\n const setValue = (value) => {\n if (value && value !== '') {\n const loopCharacteristics = getLoopCharacteristics(element);\n const completionCondition = createElement(\n 'bpmn:FormalExpression',\n { body: value },\n loopCharacteristics,\n bpmnFactory\n );\n setCompletionCondition(element, commandStack, completionCondition);\n } else {\n setCompletionCondition(element, commandStack, undefined);\n }\n };\n\n return FeelEntryWithVariableContext({\n element,\n id: 'multiInstance-completionCondition',\n label: translate('Completion condition'),\n feel: 'required',\n getValue,\n setValue,\n debounce\n });\n}\n\n// helper ///////////////////////\n\nfunction getLoopCharacteristics(element) {\n const businessObject = getBusinessObject(element);\n return businessObject.get('loopCharacteristics');\n}\n\nfunction getZeebeLoopCharacteristics(loopCharacteristics) {\n const extensionElements = getExtensionElementsList(loopCharacteristics, 'zeebe:LoopCharacteristics');\n\n return extensionElements && extensionElements[0];\n}\n\nfunction supportsMultiInstances(element) {\n return !!getLoopCharacteristics(element);\n}\n\nfunction getCompletionCondition(element) {\n return getLoopCharacteristics(element).get('completionCondition');\n}\n\nfunction setCompletionCondition(element, commandStack, completionCondition = undefined) {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: getLoopCharacteristics(element),\n properties: {\n completionCondition\n }\n });\n}\n\nfunction getProperty(element, propertyName) {\n const loopCharacteristics = getLoopCharacteristics(element),\n zeebeLoopCharacteristics = getZeebeLoopCharacteristics(loopCharacteristics);\n\n return zeebeLoopCharacteristics && zeebeLoopCharacteristics.get(propertyName);\n}\n\nfunction setProperty(element, propertyName, value, commandStack, bpmnFactory) {\n const loopCharacteristics = getLoopCharacteristics(element);\n\n const commands = [];\n\n // (1) ensure extension elements\n let extensionElements = loopCharacteristics.get('extensionElements');\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n loopCharacteristics,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: loopCharacteristics,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) ensure zeebe loop characteristics\n let zeebeLoopCharacteristics = getZeebeLoopCharacteristics(loopCharacteristics);\n if (!zeebeLoopCharacteristics) {\n zeebeLoopCharacteristics = createElement(\n 'zeebe:LoopCharacteristics',\n { },\n extensionElements,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), zeebeLoopCharacteristics ]\n }\n }\n });\n }\n\n // (3) update defined property\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: zeebeLoopCharacteristics,\n properties: { [ propertyName ]: value }\n }\n });\n\n // (4) commit all updates\n commandStack.execute('properties-panel.multi-command-executor', commands);\n}\n","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n getOutputParameters\n} from '../utils/InputOutputUtil';\n\nimport {\n getCalledElement\n} from '../utils/CalledElementUtil.js';\n\nimport {\n has\n} from 'min-dash';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport { ToggleSwitchEntry, isToggleSwitchEntryEdited } from '@bpmn-io/properties-panel';\n\n\nexport function OutputPropagationProps(props) {\n const {\n element\n } = props;\n\n if (!is(element, 'bpmn:CallActivity')) {\n return [];\n }\n\n return [\n {\n id: 'propagateAllChildVariables',\n component: PropagateAllChildVariables,\n isEdited: isToggleSwitchEntryEdited\n }\n ];\n}\n\nfunction PropagateAllChildVariables(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack'),\n bpmnFactory = useService('bpmnFactory'),\n translate = useService('translate');\n\n const propagateAllChildVariables = isPropagateAllChildVariables(element);\n\n const getValue = () => {\n return propagateAllChildVariables;\n };\n\n const setValue = (value) => {\n const commands = [];\n\n const businessObject = getBusinessObject(element);\n\n // (1) ensure extension elements\n let extensionElements = businessObject.get('extensionElements');\n\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) ensure zeebe:calledElement\n let calledElement = getCalledElement(businessObject);\n\n if (!calledElement) {\n calledElement = createElement(\n 'zeebe:CalledElement',\n { },\n extensionElements,\n bpmnFactory);\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), calledElement ]\n }\n }\n });\n\n }\n\n // (3) Update propagateAllChildVariables attribute\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: calledElement,\n properties: {\n propagateAllChildVariables: value\n }\n }\n });\n\n // (4) Execute the commands\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n return ToggleSwitchEntry({\n id: 'propagateAllChildVariables',\n label: translate('Propagate all child process variables'),\n switcherLabel: propagateAllChildVariables ?\n translate('On') :\n translate('Off'),\n tooltip:
\n

{translate('If turned on, all variables from the child process instance will be propagated to the parent process instance.')}

\n

{translate('Otherwise, only variables defined via output mappings will be propagated.')}

\n
,\n getValue,\n setValue\n });\n}\n\n\n// helper //////////////////////////\n\n/**\n * Determine default value for propagateAllChildVariables attribute\n * @param {Object} element representing a bpmn:CallActivity\n *\n * @returns {boolean}\n */\nfunction determinePropAllChildVariablesDefault(element) {\n const outputParameters = getOutputParameters(element);\n\n if (outputParameters) {\n return (outputParameters.length > 0) ? false : true;\n }\n}\n\n/**\n * Check whether the propagateAllChildVariables attribute is set on an element.\n * Note that a default logic will be determine if it is not explicitly set.\n * @param {Object} element\n *\n * @returns {boolean}\n */\nexport function isPropagateAllChildVariables(element) {\n if (!is(element, 'bpmn:CallActivity')) {\n return undefined;\n }\n\n const bo = getBusinessObject(element),\n calledElement = getCalledElement(bo);\n\n return calledElement && has(calledElement, 'propagateAllChildVariables') ?\n calledElement.get('propagateAllChildVariables') :\n determinePropAllChildVariablesDefault(element);\n}\n","import {\n getBusinessObject\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport InputOutputParameter from './InputOutputParameter';\n\nimport {\n areOutputParametersSupported,\n getOutputParameters,\n getIoMapping,\n createIOMapping\n} from '../utils/InputOutputUtil';\n\nimport {\n createElement,\n nextId\n} from '../../../utils/ElementUtil';\n\nimport { without } from 'min-dash';\n\n\nexport function OutputProps({ element, injector }) {\n\n if (!areOutputParametersSupported(element)) {\n return null;\n }\n\n const outputParameters = getOutputParameters(element) || [];\n\n const bpmnFactory = injector.get('bpmnFactory'),\n commandStack = injector.get('commandStack');\n\n const items = outputParameters.map((parameter, index) => {\n const id = element.id + '-output-' + index;\n\n return {\n id,\n label: parameter.get('target') || '',\n entries: InputOutputParameter({\n idPrefix: id,\n element,\n parameter\n }),\n autoFocusEntry: id + '-target',\n remove: removeFactory({ commandStack, element, parameter })\n };\n });\n\n return {\n items,\n add: addFactory({ element, bpmnFactory, commandStack }),\n shouldSort: false\n };\n}\n\nfunction removeFactory({ commandStack, element, parameter }) {\n return function(event) {\n event.stopPropagation();\n\n let commands = [];\n\n const ioMapping = getIoMapping(element);\n\n if (!ioMapping) {\n return;\n }\n\n const outputParameters = without(ioMapping.get('outputParameters'), parameter);\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: ioMapping,\n properties: {\n outputParameters\n }\n }\n });\n\n // remove ioMapping if there are no input/output parameters anymore\n if (!ioMapping.get('inputParameters').length && !outputParameters.length) {\n const businessObject = getBusinessObject(element),\n extensionElements = businessObject.get('extensionElements'),\n values = without(extensionElements.get('values'), ioMapping);\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values\n }\n }\n });\n }\n\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n}\n\nfunction addFactory({ element, bpmnFactory, commandStack }) {\n return function(event) {\n event.stopPropagation();\n\n let commands = [];\n\n const businessObject = getBusinessObject(element);\n\n let extensionElements = businessObject.get('extensionElements');\n\n // (1) ensure extension elements\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) ensure IoMapping\n let ioMapping = getIoMapping(element);\n\n if (!ioMapping) {\n const parent = extensionElements;\n\n ioMapping = createIOMapping({\n inputParameters: [],\n outputParameters: []\n }, parent, bpmnFactory);\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), ioMapping ]\n }\n }\n });\n }\n\n // (3) create parameter\n const newParameter = createElement('zeebe:Output', {\n target: nextId('OutputVariable_')\n }, ioMapping, bpmnFactory);\n\n // (4) add parameter to list\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: ioMapping,\n properties: {\n outputParameters: [ ...ioMapping.get('outputParameters'), newParameter ]\n }\n }\n });\n\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n}\n","import {\n getBusinessObject\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n is,\n isAny\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { SelectEntry } from '@bpmn-io/properties-panel';\n\nimport {\n getExtensionElementsList, removeExtensionElements\n} from '../../../utils/ExtensionElementsUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport { useService } from '../../../hooks';\n\nimport { without } from 'min-dash';\n\nexport const SCRIPT_IMPLEMENTATION_OPTION = 'script',\n JOB_WORKER_IMPLEMENTATION_OPTION = 'jobWorker',\n DEFAULT_IMPLEMENTATION_OPTION = '';\n\n\nexport function ScriptImplementationProps(props) {\n const {\n element\n } = props;\n\n if (!is(element, 'bpmn:ScriptTask')) {\n return [];\n }\n\n return [\n {\n id: 'scriptImplementation',\n component: ScriptImplementation,\n isEdited: () => isScriptImplementationEdited(element)\n }\n ];\n}\n\nfunction ScriptImplementation(props) {\n const {\n element,\n id\n } = props;\n\n const commandStack = useService('commandStack');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n\n const getValue = () => {\n if (getScript(element)) {\n return SCRIPT_IMPLEMENTATION_OPTION;\n }\n\n if (getTaskDefinition(element)) {\n return JOB_WORKER_IMPLEMENTATION_OPTION;\n }\n\n return DEFAULT_IMPLEMENTATION_OPTION;\n };\n\n /**\n * Set value by either creating a zeebe:script or a zeebe:taskDefintion\n * extension element. Note that they must not exist both at the same time, however\n * this will be ensured by a bpmn-js behavior (and not by the propPanel).\n */\n const setValue = (value) => {\n let extensionElement, extensionElementType;\n\n if (value === SCRIPT_IMPLEMENTATION_OPTION) {\n extensionElement = getScript(element);\n extensionElementType = 'zeebe:Script';\n } else if (value === JOB_WORKER_IMPLEMENTATION_OPTION) {\n extensionElement = getTaskDefinition(element);\n extensionElementType = 'zeebe:TaskDefinition';\n } else {\n resetElement(element, commandStack);\n }\n\n if (!extensionElement && extensionElementType) {\n extensionElement = createElement(\n extensionElementType,\n { },\n null,\n bpmnFactory\n );\n\n updateExtensionElements(element, extensionElement, bpmnFactory, commandStack);\n }\n };\n\n const getOptions = () => {\n\n const options = [\n { value: DEFAULT_IMPLEMENTATION_OPTION, label: translate('') },\n { value: SCRIPT_IMPLEMENTATION_OPTION, label: translate('FEEL expression') },\n { value: JOB_WORKER_IMPLEMENTATION_OPTION, label: translate('Job worker') }\n ];\n\n return options;\n };\n\n return SelectEntry({\n element,\n id,\n label: translate('Implementation'),\n getValue,\n setValue,\n getOptions\n });\n}\n\n\n// helper ///////////////////////\n\nfunction getTaskDefinition(element) {\n const businessObject = getBusinessObject(element);\n\n return getExtensionElementsList(businessObject, 'zeebe:TaskDefinition')[0];\n}\n\nfunction getScript(element) {\n const businessObject = getBusinessObject(element);\n\n return getExtensionElementsList(businessObject, 'zeebe:Script')[0];\n}\n\nfunction getTaskHeaders(element) {\n const businessObject = getBusinessObject(element);\n\n return getExtensionElementsList(businessObject, 'zeebe:TaskHeaders');\n}\n\nfunction isScriptImplementationEdited(element) {\n return getTaskDefinition(element) || getScript(element);\n}\n\nfunction resetElement(element, commandStack) {\n const businessObject = getBusinessObject(element);\n const taskDefinition = getTaskDefinition(element);\n const taskHeaders = getTaskHeaders(element);\n const script = getScript(element);\n\n if (taskDefinition) {\n const removed = [ taskDefinition, taskHeaders ].filter(Boolean);\n\n removeExtensionElements(element, businessObject, removed, commandStack);\n\n return;\n }\n\n if (script) {\n removeExtensionElements(element, businessObject, script, commandStack);\n }\n}\n\nfunction updateExtensionElements(element, extensionElementToAdd, bpmnFactory, commandStack) {\n const businessObject = getBusinessObject(element);\n\n const commands = [];\n\n let extensionElements = businessObject.get('extensionElements');\n let extensionElementValues;\n\n // (1) create bpmn:ExtensionElements if it doesn't exist\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n {\n values: []\n },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: {\n extensionElements\n }\n }\n });\n }\n\n extensionElementToAdd.$parent = extensionElements;\n\n // (2) remove old exension element from extensionElements\n if (is(extensionElementToAdd, 'zeebe:TaskDefinition')) {\n extensionElementValues = without(extensionElements.get('values'), getScript(element));\n } else if (is(extensionElementToAdd, 'zeebe:Script')) {\n const matcher = extension => isAny(extension, [ 'zeebe:TaskDefinition', 'zeebe:TaskHeaders' ]);\n\n extensionElementValues = without(extensionElements.get('values'), matcher);\n }\n\n // (3) add extension element to list\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElementValues, extensionElementToAdd ]\n }\n }\n });\n\n commandStack.execute('properties-panel.multi-command-executor', commands);\n}","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n TextFieldEntry, isTextFieldEntryEdited,\n isFeelEntryEdited\n} from '@bpmn-io/properties-panel';\n\nimport {\n getExtensionElementsList\n} from '../../../utils/ExtensionElementsUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport { useService } from '../../../hooks';\n\nimport { FeelEntryWithVariableContext } from '../../../entries/FeelEntryWithContext';\n\n\n\nexport function ScriptProps(props) {\n const {\n element\n } = props;\n\n if (!is(element, 'bpmn:ScriptTask') || !getScript(element)) {\n return [];\n }\n\n return [\n {\n id: 'resultVariable',\n component: ResultVariable,\n isEdited: isTextFieldEntryEdited\n },\n {\n id: 'scriptExpression',\n component: Expression,\n isEdited: isFeelEntryEdited\n }\n ];\n}\n\nfunction Expression(props) {\n const {\n element,\n id\n } = props;\n\n const commandStack = useService('commandStack');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return (getScript(element) || {}).get('expression');\n };\n\n const setValue = (value) => {\n const commands = [];\n\n const businessObject = getBusinessObject(element);\n\n let extensionElements = businessObject.get('extensionElements');\n\n // (1) ensure extension elements\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) ensure script\n let script = getScript(element);\n\n if (!script) {\n script = createElement(\n 'zeebe:Script',\n { },\n extensionElements,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), script ]\n }\n }\n });\n }\n\n // (3) update script.expression\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: script,\n properties: { expression: value }\n }\n });\n\n // (4) commit all updates\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n return FeelEntryWithVariableContext({\n element,\n id,\n label: translate('FEEL expression'),\n feel: 'required',\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction ResultVariable(props) {\n const {\n element,\n id\n } = props;\n\n const commandStack = useService('commandStack');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return (getScript(element) || {}).resultVariable;\n };\n\n const setValue = (value) => {\n const commands = [];\n\n const businessObject = getBusinessObject(element);\n\n let extensionElements = businessObject.get('extensionElements');\n\n // (1) ensure extension elements\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) ensure script\n let script = getScript(element);\n\n if (!script) {\n script = createElement(\n 'zeebe:Script',\n { },\n extensionElements,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), script ]\n }\n }\n });\n }\n\n // (3) update script.resultVariable\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: script,\n properties: { resultVariable: value }\n }\n });\n\n // (4) commit all updates\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n return TextFieldEntry({\n element,\n id,\n label: translate('Result variable'),\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper ///////////////////////\n\nfunction getScript(element) {\n const businessObject = getBusinessObject(element);\n\n return getExtensionElementsList(businessObject, 'zeebe:Script')[0];\n}","import { isFeelEntryEdited } from '@bpmn-io/properties-panel';\n\nimport { FeelEntryWithVariableContext } from '../../../entries/FeelEntryWithContext';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n getSignal,\n isSignalSupported\n} from '../../../utils/EventDefinitionUtil';\n\n/**\n * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry\n */\n\nexport const EMPTY_OPTION = '';\nexport const CREATE_NEW_OPTION = 'create-new';\n\n/**\n * @returns {Entry[]}\n */\nexport function SignalProps(props) {\n const {\n element\n } = props;\n\n if (!isSignalSupported(element)) {\n return [];\n }\n\n const signal = getSignal(element);\n\n let entries = [];\n\n if (signal) {\n entries = [\n ...entries,\n {\n id: 'signalName',\n component: SignalName,\n isEdited: isFeelEntryEdited\n },\n ];\n }\n\n return entries;\n}\n\nfunction SignalName(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const signal = getSignal(element);\n\n const getValue = () => {\n return signal.get('name');\n };\n\n const setValue = (value) => {\n return commandStack.execute(\n 'element.updateModdleProperties',\n {\n element,\n moddleElement: signal,\n properties: {\n name: value\n }\n }\n );\n };\n\n return FeelEntryWithVariableContext({\n element,\n id: 'signalName',\n label: translate('Name'),\n feel: 'optional',\n getValue,\n setValue,\n debounce\n });\n}","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n isFeelEntryEdited\n} from '@bpmn-io/properties-panel';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport {\n getCalledElement,\n getProcessId\n} from '../utils/CalledElementUtil.js';\n\nimport { useService } from '../../../hooks';\n\nimport { FeelEntryWithVariableContext } from '../../../entries/FeelEntryWithContext';\n\n\nexport function TargetProps(props) {\n const {\n element\n } = props;\n\n if (!is(element, 'bpmn:CallActivity')) {\n return [];\n }\n\n return [\n {\n id: 'targetProcessId',\n component: TargetProcessId,\n isEdited: isFeelEntryEdited\n }\n ];\n}\n\nfunction TargetProcessId(props) {\n const {\n element,\n id\n } = props;\n\n const commandStack = useService('commandStack'),\n bpmnFactory = useService('bpmnFactory'),\n translate = useService('translate'),\n debounce = useService('debounceInput');\n\n const getValue = () => {\n return getProcessId(element);\n };\n\n const setValue = (value) => {\n const commands = [];\n\n const businessObject = getBusinessObject(element);\n\n // (1) ensure extension elements\n let extensionElements = businessObject.get('extensionElements');\n\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) ensure zeebe:calledElement\n let calledElement = getCalledElement(businessObject);\n\n if (!calledElement) {\n calledElement = createElement(\n 'zeebe:CalledElement',\n { },\n extensionElements,\n bpmnFactory);\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), calledElement ]\n }\n }\n });\n\n }\n\n // (3) Update processId attribute\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: calledElement,\n properties: {\n processId: value\n }\n }\n });\n\n // (4) Execute the commands\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n return FeelEntryWithVariableContext({\n element,\n id,\n label: translate('Process ID'),\n feel: 'optional',\n getValue,\n setValue,\n debounce\n });\n}\n","import {\n getBusinessObject\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { isFeelEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n getExtensionElementsList\n} from '../../../utils/ExtensionElementsUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport { useService } from '../../../hooks';\n\nimport {\n isZeebeServiceTask\n} from '../utils/ZeebeServiceTaskUtil';\n\nimport { FeelEntryWithVariableContext } from '../../../entries/FeelEntryWithContext';\n\n\nexport function TaskDefinitionProps(props) {\n const {\n element\n } = props;\n\n if (!isZeebeServiceTask(element)) {\n return [];\n }\n\n return [\n {\n id: 'taskDefinitionType',\n component: TaskDefinitionType,\n isEdited: isFeelEntryEdited\n },\n {\n id: 'taskDefinitionRetries',\n component: TaskDefinitionRetries,\n isEdited: isFeelEntryEdited\n }\n ];\n}\n\nfunction TaskDefinitionType(props) {\n const {\n element,\n id\n } = props;\n\n const commandStack = useService('commandStack');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return (getTaskDefinition(element) || {}).type;\n };\n\n const setValue = (value) => {\n const commands = [];\n\n const businessObject = getBusinessObject(element);\n\n let extensionElements = businessObject.get('extensionElements');\n\n // (1) ensure extension elements\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) ensure task definition\n let taskDefinition = getTaskDefinition(element);\n\n if (!taskDefinition) {\n taskDefinition = createElement(\n 'zeebe:TaskDefinition',\n { },\n extensionElements,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), taskDefinition ]\n }\n }\n });\n }\n\n // (3) update task definition type\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: taskDefinition,\n properties: { type: value }\n }\n });\n\n // (4) commit all updates\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n return FeelEntryWithVariableContext({\n element,\n id,\n label: translate('Type'),\n feel: 'optional',\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction TaskDefinitionRetries(props) {\n const {\n element,\n id\n } = props;\n\n const commandStack = useService('commandStack');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return (getTaskDefinition(element) || {}).retries;\n };\n\n const setValue = (value) => {\n let commands = [];\n\n const businessObject = getBusinessObject(element);\n\n let extensionElements = businessObject.get('extensionElements');\n\n // (1) ensure extension elements\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) ensure task definition\n let taskDefinition = getTaskDefinition(element);\n\n if (!taskDefinition) {\n taskDefinition = createElement(\n 'zeebe:TaskDefinition',\n { },\n extensionElements,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), taskDefinition ]\n }\n }\n });\n }\n\n // (3) update task definition retries\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: taskDefinition,\n properties: { retries: value }\n }\n });\n\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n return FeelEntryWithVariableContext({\n element,\n id,\n label: translate('Retries'),\n feel: 'optional',\n getValue,\n setValue,\n debounce,\n tooltip: translate('Specifies the number of times the job is retried when a worker signals failure. The default is three.')\n });\n}\n\n\n// helper ///////////////////////\n\nfunction getTaskDefinition(element) {\n const businessObject = getBusinessObject(element);\n\n return getExtensionElementsList(businessObject, 'zeebe:TaskDefinition')[0];\n}\n","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { isFeelEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n getExtensionElementsList\n} from '../../../utils/ExtensionElementsUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport { FeelEntryWithVariableContext } from '../../../entries/FeelEntryWithContext';\n\n\nexport function TaskScheduleProps(props) {\n const {\n element\n } = props;\n\n if (!is(element, 'bpmn:UserTask')) {\n return [];\n }\n\n return [\n {\n id: 'taskScheduleDueDate',\n component: DueDate,\n isEdited: isFeelEntryEdited\n },\n {\n id: 'taskScheduleFollowUpDate',\n component: FollowUpDate,\n isEdited: isFeelEntryEdited\n }\n ];\n}\n\nfunction DueDate(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n const taskSchedule = getTaskSchedule(element);\n\n if (!taskSchedule) {\n return;\n }\n\n return taskSchedule.get('dueDate');\n };\n\n const setValue = (value) => {\n let commands = [];\n\n const businessObject = getBusinessObject(element);\n\n let extensionElements = businessObject.get('extensionElements');\n\n // (1) ensure extension elements\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) ensure zeebe:TaskSchedule\n let taskSchedule = getTaskSchedule(element);\n\n if (!taskSchedule) {\n taskSchedule = createElement(\n 'zeebe:TaskSchedule',\n { },\n extensionElements,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), taskSchedule ]\n }\n }\n });\n }\n\n // (3) update zeebe:dueDate\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: taskSchedule,\n properties: { dueDate: value }\n }\n });\n\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n return FeelEntryWithVariableContext({\n element,\n id: 'taskScheduleDueDate',\n label: translate('Due date'),\n feel: 'optional',\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction FollowUpDate(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n const taskSchedule = getTaskSchedule(element);\n\n if (!taskSchedule) {\n return;\n }\n\n return taskSchedule.get('followUpDate');\n };\n\n const setValue = (value) => {\n let commands = [];\n\n const businessObject = getBusinessObject(element);\n\n let extensionElements = businessObject.get('extensionElements');\n\n // (1) ensure extension elements\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) ensure zeebe:TaskSchedule\n let taskSchedule = getTaskSchedule(element);\n\n if (!taskSchedule) {\n taskSchedule = createElement(\n 'zeebe:TaskSchedule',\n { },\n extensionElements,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), taskSchedule ]\n }\n }\n });\n }\n\n // (3) update zeebe:followUpDate\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: taskSchedule,\n properties: { followUpDate: value }\n }\n });\n\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n return FeelEntryWithVariableContext({\n element,\n id: 'taskScheduleFollowUpDate',\n label: translate('Follow up date'),\n feel: 'optional',\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper ///////////////////////\n\nexport function getTaskSchedule(element) {\n const businessObject = getBusinessObject(element);\n\n return getExtensionElementsList(businessObject, 'zeebe:TaskSchedule')[0];\n}\n","import {\n getBusinessObject,\n is,\n isAny\n} from 'bpmn-js/lib/util/ModelUtil';\n\n\nexport function getTimerEventDefinition(element) {\n const businessObject = getBusinessObject(element);\n\n return businessObject.get('eventDefinitions').find(eventDefinition => {\n return is(eventDefinition, 'bpmn:TimerEventDefinition');\n });\n}\n\n/**\n * Check whether a given timer expression type is supported for a given element.\n *\n * @param {string} type\n * @param {Element|ModdleElement} element\n *\n * @return {boolean}\n */\nexport function isTimerExpressionTypeSupported(type, element) {\n const businessObject = getBusinessObject(element);\n\n switch (type) {\n case 'timeDate':\n return isAny(element, [\n 'bpmn:BoundaryEvent',\n 'bpmn:IntermediateCatchEvent',\n 'bpmn:StartEvent'\n ]);\n\n case 'timeCycle':\n if (is(element, 'bpmn:StartEvent') && (!hasParentEventSubProcess(businessObject)) || !isInterrupting(businessObject)) {\n return true;\n }\n\n if (is(element, 'bpmn:BoundaryEvent') && !isInterrupting(businessObject)) {\n return true;\n }\n\n return false;\n\n case 'timeDuration':\n if (isAny(element, [\n 'bpmn:BoundaryEvent',\n 'bpmn:IntermediateCatchEvent'\n ])) {\n return true;\n }\n\n if (is(element, 'bpmn:StartEvent') && hasParentEventSubProcess(businessObject)) {\n return true;\n }\n\n return false;\n\n default:\n return false;\n }\n}\n\nfunction isInterrupting(businessObject) {\n if (is(businessObject, 'bpmn:BoundaryEvent')) {\n return businessObject.get('cancelActivity') !== false;\n }\n\n return businessObject.get('isInterrupting') !== false;\n}\n\nfunction hasParentEventSubProcess(businessObject) {\n const parent = businessObject.$parent;\n\n return parent && is(parent, 'bpmn:SubProcess') && parent.get('triggeredByEvent');\n}","import { getBusinessObject } from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n isTimerSupported,\n getTimerEventDefinition,\n getTimerDefinitionType\n} from '../../../utils/EventDefinitionUtil';\n\nimport {\n isFeelEntryEdited,\n SelectEntry, isSelectEntryEdited,\n} from '@bpmn-io/properties-panel';\n\nimport { FeelEntryWithVariableContext } from '../../../entries/FeelEntryWithContext';\n\nimport { isTimerExpressionTypeSupported } from '../utils/TimerUtil';\n\n\n/**\n * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry\n */\n\n/**\n * @returns {Array} entries\n */\nexport function TimerProps(props) {\n const {\n element,\n injector\n } = props;\n\n const translate = injector.get('translate');\n\n const businessObject = getBusinessObject(element),\n timerEventDefinition = getTimerEventDefinition(businessObject),\n timerEventDefinitionType = getTimerDefinitionType(timerEventDefinition);\n\n // (1) Only show for supported elements\n if (!isTimerSupported(element)) {\n return [];\n }\n\n const timerOptions = getTimerOptions(element, translate);\n\n const entries = [];\n\n entries.push({\n id: 'timerEventDefinitionType',\n component: TimerEventDefinitionType,\n isEdited: isSelectEntryEdited,\n options: timerOptions\n });\n\n if (timerEventDefinitionType) {\n entries.push({\n id: 'timerEventDefinitionValue',\n component: TimerEventDefinitionValue,\n isEdited: isFeelEntryEdited,\n timerEventDefinitionType: timerEventDefinitionType || timerOptions[0].value\n });\n }\n\n return entries;\n}\n\nfunction getTimerOptions(element, translate) {\n\n const options = [];\n\n if (isTimerExpressionTypeSupported('timeDate', element)) {\n options.push({\n value: 'timeDate',\n label: translate('Date')\n });\n }\n\n if (isTimerExpressionTypeSupported('timeDuration', element)) {\n options.push({\n value: 'timeDuration',\n label: translate('Duration')\n });\n }\n\n if (isTimerExpressionTypeSupported('timeCycle', element)) {\n options.push({\n value: 'timeCycle',\n label: translate('Cycle')\n });\n }\n\n return options;\n}\n\n\n/**\n * TimerEventDefinitionType - Generic select entry allowing to select a specific\n * timerEventDefintionType. To be used together with timerEventDefinitionValue.\n *\n * @param {type} props\n * @return {SelectEntry}\n */\nfunction TimerEventDefinitionType(props) {\n const {\n element,\n options\n } = props;\n\n const commandStack = useService('commandStack'),\n bpmnFactory = useService('bpmnFactory'),\n translate = useService('translate');\n\n const businessObject = getBusinessObject(element),\n timerEventDefinition = getTimerEventDefinition(businessObject),\n timerEventDefinitionType = getTimerDefinitionType(timerEventDefinition);\n\n const getValue = () => {\n return timerEventDefinitionType || '';\n };\n\n const setValue = (value) => {\n\n // (1) Check if value is different to current type\n if (value === timerEventDefinitionType) {\n return;\n }\n\n // (2) Create empty formalExpression element\n const formalExpression = createTimerFormalExpression(bpmnFactory, timerEventDefinition);\n\n // (3) Set the value for selected timerEventDefinitionType\n const newProps = {\n timeDuration: undefined,\n timeDate: undefined,\n timeCycle: undefined\n };\n\n if (value !== '') {\n newProps[value] = formalExpression;\n }\n\n // (4) Execute businessObject update\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: timerEventDefinition,\n properties: newProps\n });\n };\n\n const getOptions = (element) => {\n return [\n { value: '', label: translate('') },\n ...options\n ];\n };\n\n return SelectEntry({\n element,\n id: 'timerEventDefinitionType',\n label: translate('Type'),\n getValue,\n setValue,\n getOptions\n });\n}\n\n/**\n * TimerEventDefinitionValue - Generic textField entry allowing to specify the\n * timerEventDefintionValue based on the set timerEventDefintionType. To be used\n * together with timerEventDefinitionType.\n *\n * @param {object} props\n * @param {ModdleElement} props.element\n * @param {'timeCycle'|'timeDate'|'timeDuration'} props.timerEventDefinitionType?\n * @param {string} props.label?\n * @return {TextFieldEntry}\n */\nfunction TimerEventDefinitionValue(props) {\n const {\n element,\n label,\n timerEventDefinitionType\n } = props;\n\n const commandStack = useService('commandStack'),\n translate = useService('translate'),\n debounce = useService('debounceInput'),\n bpmnFactory = useService('bpmnFactory');\n\n const businessObject = getBusinessObject(element),\n timerEventDefinition = getTimerEventDefinition(businessObject),\n timerEventFormalExpression = timerEventDefinition.get(timerEventDefinitionType);\n\n const getValue = () => {\n return timerEventFormalExpression && timerEventFormalExpression.get('body');\n };\n\n const setValue = (value) => {\n if (!timerEventFormalExpression) {\n const expression = createTimerFormalExpression(bpmnFactory, timerEventDefinition);\n expression.set('body', value);\n\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: timerEventDefinition,\n properties: {\n [ timerEventDefinitionType ]: expression\n }\n });\n\n return;\n }\n\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: timerEventFormalExpression,\n properties: {\n body: value\n }\n });\n };\n\n return FeelEntryWithVariableContext({\n element,\n id: 'timerEventDefinitionValue',\n label: label || translate('Value'),\n feel: 'optional',\n getValue,\n setValue,\n debounce,\n tooltip: getTimerEventDefinitionValueDescription(timerEventDefinitionType, translate)\n });\n}\n\n\n\n// helper //////////////////////////\n\nfunction createTimerFormalExpression(bpmnFactory, eventDefinition) {\n const formalExpression = bpmnFactory.create('bpmn:FormalExpression', { body: undefined });\n formalExpression.$parent = eventDefinition;\n\n return formalExpression;\n}\n\nfunction getTimerEventDefinitionValueDescription(timerDefinitionType, translate) {\n switch (timerDefinitionType) {\n case 'timeDate':\n return (
\n

{ translate('A specific point in time defined as ISO 8601 combined date and time representation.') }

\n
    \n
  • 2019-10-01T12:00:00Z - { translate('UTC time') }
  • \n
  • 2019-10-02T08:09:40+02:00 - { translate('UTC plus 2 hours zone offset') }
  • \n
\n { translate('How to configure a timer') }\n
);\n\n case 'timeCycle':\n return (
\n

{ translate('A cycle defined as ISO 8601 repeating intervals format, or a cron expression.') }

\n
    \n
  • R5/PT10S - { translate('every 10 seconds, up to 5 times') }
  • \n
  • R/P1D - { translate('every day, infinitely') }
  • \n
  • 0 0 9-17 * * MON-FRI - { translate('every hour on the hour from 9-5 p.m. UTC Monday-Friday') }
  • \n
\n { translate('How to configure a timer') }\n
);\n\n case 'timeDuration':\n return (
\n

{ translate('A time duration defined as ISO 8601 durations format.') }

\n
    \n
  • PT15S - { translate('15 seconds') }
  • \n
  • PT1H30M - { translate('1 hour and 30 minutes') }
  • \n
  • P14D - { translate('14 days') }
  • \n
\n { translate('How to configure a timer') }\n
);\n }\n}","import { TextFieldEntry } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../hooks';\n\n\nexport default function ExtensionProperty(props) {\n\n const {\n idPrefix,\n property\n } = props;\n\n const entries = [ {\n id: idPrefix + '-name',\n component: NameProperty,\n idPrefix,\n property\n },{\n id: idPrefix + '-value',\n component: ValueProperty,\n idPrefix,\n property\n } ];\n\n return entries;\n}\n\nfunction NameProperty(props) {\n const {\n idPrefix,\n element,\n property\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: property,\n properties: {\n name: value\n }\n });\n };\n\n const getValue = () => {\n return property.name;\n };\n\n return TextFieldEntry({\n element: property,\n id: idPrefix + '-name',\n label: translate('Name'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction ValueProperty(props) {\n const {\n idPrefix,\n element,\n property\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: property,\n properties: {\n value\n }\n });\n };\n\n const getValue = () => {\n return property.value;\n };\n\n return TextFieldEntry({\n element: property,\n id: idPrefix + '-value',\n label: translate('Value'),\n getValue,\n setValue,\n debounce\n });\n}","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport ExtensionProperty from './ExtensionProperty';\n\nimport {\n createElement\n} from '../../utils/ElementUtil';\n\nimport {\n getExtensionElementsList\n} from '../../utils/ExtensionElementsUtil';\n\nimport { without } from 'min-dash';\n\n\nexport function ExtensionPropertiesProps({ element, injector, namespace = 'camunda' }) {\n let businessObject = getRelevantBusinessObject(element);\n\n // do not offer for empty pools\n if (!businessObject) {\n return;\n }\n\n const properties = getPropertiesList(businessObject, namespace) || [];\n\n const bpmnFactory = injector.get('bpmnFactory'),\n commandStack = injector.get('commandStack');\n\n const items = properties.map((property, index) => {\n const id = element.id + '-extensionProperty-' + index;\n\n return {\n id,\n label: property.get('name') || '',\n entries: ExtensionProperty({\n idPrefix: id,\n element,\n property\n }),\n autoFocusEntry: id + '-name',\n remove: removeFactory({ commandStack, element, property, namespace })\n };\n });\n\n return {\n items,\n add: addFactory({ bpmnFactory, commandStack, element, namespace }),\n shouldSort: false\n };\n}\n\nfunction removeFactory({ commandStack, element, property, namespace }) {\n return function(event) {\n event.stopPropagation();\n\n const commands = [];\n\n const businessObject = getRelevantBusinessObject(element);\n const extensionElements = businessObject.get('extensionElements');\n const properties = getProperties(businessObject, namespace);\n\n if (!properties) {\n return;\n }\n\n const propertyName = getPropertyName(namespace);\n\n const values = without(properties.get(propertyName), property);\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: properties,\n properties: {\n [ propertyName ]: values\n }\n }\n });\n\n // remove camunda:Properties if there are no properties anymore\n if (!values.length) {\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: without(extensionElements.get('values'), properties)\n }\n }\n });\n }\n\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n}\n\nfunction addFactory({ bpmnFactory, commandStack, element, namespace }) {\n return function(event) {\n event.stopPropagation();\n\n let commands = [];\n\n const businessObject = getRelevantBusinessObject(element);\n\n let extensionElements = businessObject.get('extensionElements');\n\n // (1) ensure extension elements\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: { extensionElements }\n }\n });\n }\n\n const propertyName = getPropertyName(namespace);\n\n // (2) ensure camunda:Properties\n let properties = getProperties(businessObject, namespace);\n\n if (!properties) {\n const parent = extensionElements;\n\n properties = createElement(`${ namespace }:Properties`, {\n [ propertyName ]: []\n }, parent, bpmnFactory);\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), properties ]\n }\n }\n });\n }\n\n // (3) create camunda:Property\n const property = createElement(`${ namespace }:Property`, {}, properties, bpmnFactory);\n\n // (4) add property to list\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: properties,\n properties: {\n [ propertyName ]: [ ...properties.get(propertyName), property ]\n }\n }\n });\n\n // (5) commit all updates\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n}\n\n\n// helper //////////////////\n\nexport function getRelevantBusinessObject(element) {\n let businessObject = getBusinessObject(element);\n\n if (is(element, 'bpmn:Participant')) {\n return businessObject.get('processRef');\n }\n\n return businessObject;\n}\n\nfunction getPropertyName(namespace = 'camunda') {\n if (namespace === 'zeebe') {\n return 'properties';\n }\n\n return 'values';\n}\n\nexport function getProperties(element, namespace = 'camunda') {\n const businessObject = getRelevantBusinessObject(element);\n return getExtensionElementsList(businessObject, `${namespace}:Properties`)[ 0 ];\n}\n\nexport function getPropertiesList(element, namespace = 'camunda') {\n const businessObject = getRelevantBusinessObject(element);\n const properties = getProperties(businessObject, namespace);\n\n return properties && properties.get(getPropertyName(namespace));\n}","import { Group, ListGroup } from '@bpmn-io/properties-panel';\n\nimport {\n AssignmentDefinitionProps,\n BusinessRuleImplementationProps,\n CalledDecisionProps,\n ConditionProps,\n ErrorProps,\n EscalationProps,\n FormProps,\n HeaderProps,\n InputPropagationProps,\n InputProps,\n MessageProps,\n MultiInstanceProps,\n OutputPropagationProps,\n OutputProps,\n ScriptImplementationProps,\n ScriptProps,\n SignalProps,\n TargetProps,\n TaskDefinitionProps,\n TaskScheduleProps,\n TimerProps\n} from './properties';\n\nimport { ExtensionPropertiesProps } from '../shared/ExtensionPropertiesProps';\n\nimport { isMessageEndEvent, isMessageThrowEvent } from './utils/ZeebeServiceTaskUtil';\n\n/**\n * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry\n */\n\nconst LOW_PRIORITY = 500;\n\nconst ZEEBE_GROUPS = [\n BusinessRuleImplementationGroup,\n CalledDecisionGroup,\n ScriptImplementationGroup,\n ScriptGroup,\n TaskDefinitionGroup,\n AssignmentDefinitionGroup,\n FormGroup,\n ConditionGroup,\n TargetGroup,\n InputPropagationGroup,\n InputGroup,\n OutputPropagationGroup,\n OutputGroup,\n HeaderGroup,\n ExtensionPropertiesGroup\n];\n\nexport default class ZeebePropertiesProvider {\n\n constructor(propertiesPanel, injector) {\n propertiesPanel.registerProvider(LOW_PRIORITY, this);\n\n this._injector = injector;\n }\n\n getGroups(element) {\n return (groups) => {\n\n // (1) add zeebe specific groups\n groups = groups.concat(this._getGroups(element));\n\n // (2) update existing groups with zeebe specific properties\n updateErrorGroup(groups, element);\n updateEscalationGroup(groups, element);\n updateMessageGroup(groups, element);\n updateSignalGroup(groups, element);\n updateTimerGroup(groups, element, this._injector);\n updateMultiInstanceGroup(groups, element);\n\n // (3) remove message group when not applicable\n groups = removeMessageGroup(groups, element);\n\n return groups;\n };\n }\n\n _getGroups(element) {\n const groups = ZEEBE_GROUPS.map(createGroup => createGroup(element, this._injector));\n\n return groups.filter(group => group !== null);\n }\n\n}\n\nZeebePropertiesProvider.$inject = [ 'propertiesPanel', 'injector' ];\n\n\nfunction CalledDecisionGroup(element) {\n const group = {\n id: 'calledDecision',\n label: 'Called decision',\n entries: [\n ...CalledDecisionProps({ element })\n ],\n component: Group\n };\n\n return group.entries.length ? group : null;\n}\n\nfunction ScriptGroup(element) {\n const group = {\n id: 'script',\n label: 'Script',\n entries: [\n ...ScriptProps({ element })\n ],\n component: Group\n };\n\n return group.entries.length ? group : null;\n}\n\nfunction TaskDefinitionGroup(element) {\n const group = {\n id: 'taskDefinition',\n label: 'Task definition',\n entries: [\n ...TaskDefinitionProps({ element })\n ],\n component: Group\n };\n\n return group.entries.length ? group : null;\n}\n\nfunction InputGroup(element, injector) {\n const group = {\n id: 'inputs',\n label: 'Inputs',\n component: ListGroup,\n ...InputProps({ element, injector })\n };\n\n return group.items ? group : null;\n}\n\nfunction OutputGroup(element, injector) {\n const group = {\n id: 'outputs',\n label: 'Outputs',\n component: ListGroup,\n ...OutputProps({ element, injector })\n };\n\n return group.items ? group : null;\n}\n\nfunction ConditionGroup(element) {\n const group = {\n id: 'condition',\n label: 'Condition',\n entries: [\n ...ConditionProps({ element })\n ],\n component: Group\n };\n\n return group.entries.length ? group : null;\n}\n\nfunction FormGroup(element, injector) {\n const group = {\n id: 'form',\n label: 'Form',\n entries: [\n ...FormProps({ element, injector })\n ],\n component: Group\n };\n\n return group.entries.length ? group : null;\n}\n\nfunction TargetGroup(element) {\n const group = {\n id: 'calledElement',\n label: 'Called element',\n entries: [\n ...TargetProps({ element })\n ],\n component: Group\n };\n\n return group.entries.length ? group : null;\n}\n\nfunction HeaderGroup(element, injector) {\n const group = {\n id: 'headers',\n label: 'Headers',\n component: ListGroup,\n ...HeaderProps({ element, injector })\n };\n\n return group.items ? group : null;\n}\n\nfunction OutputPropagationGroup(element) {\n const group = {\n id: 'outputPropagation',\n label: 'Output propagation',\n entries: [\n ...OutputPropagationProps({ element })\n ],\n component: Group\n };\n\n return group.entries.length ? group : null;\n}\n\nfunction InputPropagationGroup(element) {\n const group = {\n id: 'inputPropagation',\n label: 'Input propagation',\n entries: [\n ...InputPropagationProps({ element })\n ],\n component: Group\n };\n\n return group.entries.length ? group : null;\n}\n\nfunction BusinessRuleImplementationGroup(element) {\n const group = {\n id: 'businessRuleImplementation',\n label: 'Implementation',\n entries: [\n ...BusinessRuleImplementationProps({ element })\n ],\n component: Group\n };\n\n return group.entries.length ? group : null;\n}\n\nfunction ScriptImplementationGroup(element) {\n const group = {\n id: 'scriptImplementation',\n label: 'Implementation',\n entries: [\n ...ScriptImplementationProps({ element })\n ],\n component: Group\n };\n\n return group.entries.length ? group : null;\n}\n\nfunction AssignmentDefinitionGroup(element) {\n const group = {\n id: 'assignmentDefinition',\n label: 'Assignment',\n entries: [\n ...AssignmentDefinitionProps({ element }),\n ...TaskScheduleProps({ element })\n ],\n component: Group\n };\n\n return group.entries.length ? group : null;\n}\n\nfunction ExtensionPropertiesGroup(element, injector) {\n const group = {\n label: 'Extension properties',\n id: 'Zeebe__ExtensionProperties',\n component: ListGroup,\n ...ExtensionPropertiesProps({ element, injector, namespace: 'zeebe' })\n };\n\n if (group.items) {\n return group;\n }\n\n return null;\n}\n\nfunction updateErrorGroup(groups, element) {\n const errorGroup = findGroup(groups, 'error');\n\n if (!errorGroup) {\n return;\n }\n\n errorGroup.entries = replaceEntries(\n errorGroup.entries,\n ErrorProps({ element })\n );\n}\n\nfunction updateEscalationGroup(groups, element) {\n const escalationGroup = findGroup(groups, 'escalation');\n\n if (!escalationGroup) {\n return;\n }\n\n escalationGroup.entries = replaceEntries(\n escalationGroup.entries,\n EscalationProps({ element })\n );\n}\n\nfunction updateSignalGroup(groups, element) {\n const signalGroup = findGroup(groups, 'signal');\n\n if (!signalGroup) {\n return;\n }\n\n signalGroup.entries = replaceEntries(\n signalGroup.entries,\n SignalProps({ element })\n );\n}\n\nfunction updateMessageGroup(groups, element) {\n const messageGroup = findGroup(groups, 'message');\n\n if (!messageGroup) {\n return;\n }\n\n messageGroup.entries = replaceEntries(\n messageGroup.entries,\n MessageProps({ element })\n );\n}\n\n// overwrite bpmn generic timerEventDefinition group with zeebe-specific one\nfunction updateTimerGroup(groups, element, injector) {\n const timerEventGroup = findGroup(groups, 'timer');\n\n if (!timerEventGroup) {\n return;\n }\n\n timerEventGroup.entries = [\n ...TimerProps({ element, injector })\n ];\n}\n\n// overwrite bpmn generic multiInstance group with zeebe-specific one\nfunction updateMultiInstanceGroup(groups, element) {\n const multiInstanceGroup = findGroup(groups, 'multiInstance');\n\n if (!multiInstanceGroup) {\n return;\n }\n\n multiInstanceGroup.entries = [\n ...MultiInstanceProps({ element })\n ];\n}\n\n// remove message group from Message End Event & Message Throw Event\nfunction removeMessageGroup(groups, element) {\n const messageGroup = findGroup(groups, 'message');\n\n if (isMessageEndEvent(element) || isMessageThrowEvent(element)) {\n\n groups = groups.filter(g => g != messageGroup);\n }\n return groups;\n}\n\n\n// helper /////////////////////\n\nfunction findGroup(groups, id) {\n return groups.find(g => g.id === id);\n}\n\n/**\n * Replace entries with the same ID.\n *s\n * @param {Entry[]} oldEntries\n * @param {Entry[]} newEntries\n *\n * @returns {Entry[]} combined entries\n */\nfunction replaceEntries(oldEntries, newEntries) {\n\n const filteredEntries = oldEntries.filter(oldEntry => (\n !newEntries.find(newEntry => newEntry.id === oldEntry.id)\n ));\n\n return [\n ...filteredEntries,\n ...newEntries\n ];\n}","import ZeebePropertiesProvider from './ZeebePropertiesProvider';\n\nexport default {\n __init__: [ 'zeebePropertiesProvider' ],\n zeebePropertiesProvider: [ 'type', ZeebePropertiesProvider ]\n};","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n CheckboxEntry,\n isCheckboxEntryEdited\n} from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\n\nexport function AsynchronousContinuationsProps(props) {\n const {\n element\n } = props;\n\n const checkboxIsEditedInverted = (node) => {\n return node && !node.checked;\n };\n\n const businessObject = getBusinessObject(element);\n\n const entries = [];\n\n if (is(element, 'camunda:AsyncCapable')) {\n entries.push(\n {\n id: 'asynchronousContinuationBefore',\n component: AsynchronousContinuationBefore,\n isEdited: isCheckboxEntryEdited\n },\n {\n id: 'asynchronousContinuationAfter',\n component: AsynchronousContinuationAfter,\n isEdited: isCheckboxEntryEdited\n }\n );\n\n if (isAsyncBefore(businessObject) || isAsyncAfter(businessObject)) {\n entries.push(\n {\n id: 'exclusive',\n component: Exclusive,\n isEdited: checkboxIsEditedInverted\n }\n );\n }\n }\n\n return entries;\n}\n\nfunction AsynchronousContinuationBefore(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack'),\n translate = useService('translate');\n\n const businessObject = getBusinessObject(element);\n\n const getValue = () => {\n return isAsyncBefore(businessObject);\n };\n\n const setValue = (value) => {\n\n // overwrite the legacy `async` property, we will use the more explicit `asyncBefore`\n const props = {\n 'camunda:asyncBefore': value,\n 'camunda:async': undefined\n };\n\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: props\n });\n\n };\n\n return CheckboxEntry({\n element,\n id: 'asynchronousContinuationBefore',\n label: translate('Before'),\n getValue,\n setValue\n });\n}\n\nfunction AsynchronousContinuationAfter(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack'),\n translate = useService('translate');\n\n const businessObject = getBusinessObject(element);\n\n const getValue = () => {\n return isAsyncAfter(businessObject);\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:asyncAfter': value,\n }\n });\n };\n\n return CheckboxEntry({\n element,\n id: 'asynchronousContinuationAfter',\n label: translate('After'),\n getValue,\n setValue\n });\n}\n\nfunction Exclusive(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack'),\n translate = useService('translate');\n\n const businessObject = getBusinessObject(element);\n\n const getValue = () => {\n return isExclusive(businessObject);\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:exclusive': value,\n }\n });\n };\n\n return CheckboxEntry({\n element,\n id: 'exclusive',\n label: translate('Exclusive'),\n getValue,\n setValue\n });\n}\n\n\n// helper //////////////////\n\n/**\n * Returns true if the attribute 'camunda:asyncBefore' is set\n * to true.\n *\n * @param {ModdleElement} bo\n *\n * @return {boolean} a boolean value\n */\nfunction isAsyncBefore(bo) {\n return !!(bo.get('camunda:asyncBefore') || bo.get('camunda:async'));\n}\n\n/**\n * Returns true if the attribute 'camunda:asyncAfter' is set\n * to true.\n *\n * @param {ModdleElement} bo\n *\n * @return {boolean} a boolean value\n */\nfunction isAsyncAfter(bo) {\n return !!bo.get('camunda:asyncAfter');\n}\n\n/**\n * Returns true if the attribute 'camunda:exclusive' is set\n * to true.\n *\n * @param {ModdleElement} bo\n *\n * @return {boolean} a boolean value\n */\nfunction isExclusive(bo) {\n return !!bo.get('camunda:exclusive');\n}\n","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { SelectEntry, isSelectEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n getExtensionElementsList\n} from '../../../utils/ExtensionElementsUtil';\n\nimport {\n useService\n} from '../../../hooks';\n\nexport const EMPTY_OPTION = '';\n\n\nexport function BusinessKeyProps(props) {\n const {\n element\n } = props;\n\n if (!is(element, 'bpmn:StartEvent') || !hasFormFields(element)) {\n return [];\n }\n\n return [\n {\n id: 'businessKey',\n component: BusinessKey,\n isEdited: isSelectEntryEdited\n },\n ];\n}\n\nfunction BusinessKey(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const formData = getFormData(element);\n\n const getValue = () => {\n return formData.get('camunda:businessKey') || '';\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: formData,\n properties: {\n 'camunda:businessKey': value\n }\n });\n };\n\n const getOptions = () => {\n\n const options = [\n { value: EMPTY_OPTION, label: translate('') }\n ];\n\n const fields = formData.get('fields');\n\n fields.forEach((field) => {\n const id = field.get('camunda:id');\n\n if (id) {\n options.push({\n value: id,\n label: id\n });\n }\n });\n\n return options;\n };\n\n return SelectEntry({\n element,\n id: 'businessKey',\n label: translate('Key'),\n getValue,\n setValue,\n getOptions\n });\n}\n\n\n// helper ///////////////////\n\nfunction getFormData(element) {\n const businessObject = getBusinessObject(element);\n\n return getExtensionElementsList(businessObject, 'camunda:FormData')[ 0 ];\n}\n\nfunction hasFormFields(element) {\n const businessObject = getBusinessObject(element);\n\n const formData = getFormData(businessObject);\n\n return formData && formData.get('camunda:fields').length;\n}","import {\n getBusinessObject\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n TextFieldEntry,\n isTextFieldEntryEdited,\n SelectEntry,\n isSelectEntryEdited\n} from '@bpmn-io/properties-panel';\n\n\n/**\n * Defines entries for calling a BPMN diagram.\n * Cf. https://docs.camunda.org/manual/7.15/reference/bpmn20/subprocesses/call-activity/#calledelement-tenant-id\n */\nexport function CalledBpmnProps(props) {\n const { element } = props;\n\n const entries = [\n {\n id: 'calledElement',\n component: CalledElement,\n isEdited: isTextFieldEntryEdited\n },\n {\n id: 'calledElementBinding',\n component: CalledElementBinding,\n isEdited: isSelectEntryEdited\n },\n {\n id: 'calledElementTenantId',\n component: CalledElementTenantId,\n isEdited: isTextFieldEntryEdited\n }\n ];\n\n const binding = getBusinessObject(element).get('camunda:calledElementBinding');\n if (binding === 'version') {\n entries.splice(-1, 0,\n {\n id: 'calledElementVersion',\n component: CalledElementVersion,\n isEdited: isTextFieldEntryEdited\n }\n );\n } else if (binding === 'versionTag') {\n entries.splice(-1, 0,\n {\n id: 'calledElementVersionTag',\n component: CalledElementVersionTag,\n isEdited: isTextFieldEntryEdited\n }\n );\n }\n\n return entries;\n}\n\nfunction CalledElement(props) {\n const { element } = props;\n\n const modeling = useService('modeling');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return getBusinessObject(element).get('calledElement');\n };\n\n const setValue = value => {\n modeling.updateProperties(element, { calledElement: value || '' });\n };\n\n return ;\n}\n\nfunction CalledElementBinding(props) {\n const { element } = props;\n\n const modeling = useService('modeling');\n const translate = useService('translate');\n\n const getValue = () => {\n return getBusinessObject(element).get('camunda:calledElementBinding') || 'latest';\n };\n\n const setValue = value => {\n modeling.updateProperties(element,\n {\n calledElementBinding: value === 'latest' ? undefined : value,\n calledElementVersion: undefined,\n calledElementVersionTag: undefined\n }\n );\n };\n\n const getOptions = () => ([\n { value: 'latest', label: translate('latest') },\n { value: 'deployment', label: translate('deployment') },\n { value: 'version', label: translate('version') },\n { value: 'versionTag', label: translate('version tag') }\n ]);\n\n\n return ;\n}\n\nfunction CalledElementVersion(props) {\n const { element } = props;\n\n const modeling = useService('modeling');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return getBusinessObject(element).get('camunda:calledElementVersion');\n };\n\n const setValue = value => {\n modeling.updateProperties(element, { calledElementVersion: value });\n };\n\n return ;\n}\n\nfunction CalledElementVersionTag(props) {\n const { element } = props;\n\n const modeling = useService('modeling');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return getBusinessObject(element).get('camunda:calledElementVersionTag');\n };\n\n const setValue = value => {\n modeling.updateProperties(element, { calledElementVersionTag: value });\n };\n\n return ;\n}\n\nfunction CalledElementTenantId(props) {\n const { element } = props;\n\n const modeling = useService('modeling');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return getBusinessObject(element).get('camunda:calledElementTenantId');\n };\n\n const setValue = value => {\n modeling.updateProperties(element, { calledElementTenantId: value });\n };\n\n return ;\n}\n","import {\n getBusinessObject\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n TextFieldEntry,\n isTextFieldEntryEdited,\n SelectEntry,\n isSelectEntryEdited\n} from '@bpmn-io/properties-panel';\n\n/**\n * Defines entries for calling a CMMN diagram.\n * Cf. https://docs.camunda.org/manual/7.15/reference/bpmn20/subprocesses/call-activity/#create-a-case-instance\n */\nexport function CalledCmmnProps(props) {\n const { element } = props;\n\n const entries = [\n {\n id: 'calledElementCaseRef',\n component: CaseRef,\n isEdited: isTextFieldEntryEdited\n },\n {\n id: 'calledElementCaseBinding',\n component: CaseBinding,\n isEdited: isSelectEntryEdited\n },\n {\n id: 'calledElementCaseTenantId',\n component: CaseTenantId,\n isEdited: isTextFieldEntryEdited\n }\n ];\n\n if (getBusinessObject(element).get('camunda:caseBinding') === 'version') {\n entries.splice(-1, 0,\n {\n id: 'calledElementCaseVersion',\n component: CaseVersion,\n isEdited: isTextFieldEntryEdited\n }\n );\n }\n\n return entries;\n}\n\nfunction CaseRef(props) {\n const { element } = props;\n\n const modeling = useService('modeling');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return getBusinessObject(element).get('camunda:caseRef');\n };\n\n const setValue = value => {\n modeling.updateProperties(element, { caseRef: value || '' });\n };\n\n return ;\n}\n\nfunction CaseBinding(props) {\n const { element } = props;\n\n const modeling = useService('modeling');\n const translate = useService('translate');\n\n const getValue = () => {\n return getBusinessObject(element).get('camunda:caseBinding') || 'latest';\n };\n\n const setValue = value => {\n modeling.updateProperties(element,\n {\n caseBinding: value === 'latest' ? undefined : value,\n caseVersion: undefined\n }\n );\n };\n\n const getOptions = () => ([\n { value: 'latest', label: translate('latest') },\n { value: 'deployment', label: translate('deployment') },\n { value: 'version', label: translate('version') }\n ]);\n\n\n return ;\n}\n\nfunction CaseVersion(props) {\n const { element } = props;\n\n const modeling = useService('modeling');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return getBusinessObject(element).get('camunda:caseVersion');\n };\n\n const setValue = value => {\n modeling.updateProperties(element, { caseVersion: value });\n };\n\n return ;\n}\n\nfunction CaseTenantId(props) {\n const { element } = props;\n\n const modeling = useService('modeling');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return getBusinessObject(element).get('camunda:caseTenantId');\n };\n\n const setValue = value => {\n modeling.updateProperties(element, { caseTenantId: value });\n };\n\n return ;\n}\n","import {\n TextFieldEntry,\n isTextFieldEntryEdited,\n SelectEntry,\n isSelectEntryEdited\n} from '@bpmn-io/properties-panel';\nimport { getBusinessObject } from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n useService\n} from '../../../hooks';\n\n\nexport function DelegateVariableMappingProps(props) {\n const { element } = props;\n\n const entries = [\n {\n id: 'calledElementDelegateVariableMappingType',\n component: DelegateVariableMappingType,\n isEdited: isSelectEntryEdited\n }\n ];\n\n const type = getDelegateVariableMappingType(element);\n if (type === 'class') {\n entries.push({\n id: 'calledElementVariableMappingClass',\n component: VariableMappingClass,\n isEdited: isTextFieldEntryEdited\n });\n } else if (type === 'delegateExpression') {\n entries.push({\n id: 'calledElementVariableMappingDelegateExpression',\n component: VariableMappingDelegateExpression,\n isEdited: isTextFieldEntryEdited\n });\n }\n\n return entries;\n}\n\nconst DEFAULT_PROPS = {\n 'camunda:variableMappingClass': undefined,\n 'camunda:variableMappingDelegateExpression': undefined\n};\n\nfunction DelegateVariableMappingType(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const getValue = () => {\n return getDelegateVariableMappingType(element);\n };\n\n const setValue = (value) => {\n const properties = { ...DEFAULT_PROPS };\n\n if (value === 'class') {\n properties['camunda:variableMappingClass'] = '';\n } else if (value === 'delegateExpression') {\n properties['camunda:variableMappingDelegateExpression'] = '';\n }\n\n commandStack.execute('element.updateProperties', { element, properties });\n };\n\n const getOptions = () => ([\n { value: 'none', label: translate('') },\n { value: 'class', label: translate('Class') },\n { value: 'delegateExpression', label: translate('Delegate expression') }\n ]);\n\n return ;\n}\n\nfunction VariableMappingDelegateExpression(props) {\n const { element } = props;\n\n const modeling = useService('modeling');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return getBusinessObject(element).get('camunda:variableMappingDelegateExpression');\n };\n\n const setValue = value => {\n modeling.updateProperties(element, {\n variableMappingDelegateExpression: value || '',\n variableMappingClass: undefined\n });\n };\n\n return ;\n}\n\nfunction VariableMappingClass(props) {\n const { element } = props;\n\n const modeling = useService('modeling');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return getBusinessObject(element).get('camunda:variableMappingClass');\n };\n\n const setValue = value => {\n modeling.updateProperties(element, {\n variableMappingDelegateExpression: undefined,\n variableMappingClass: value || '',\n });\n };\n\n return ;\n}\n\n\n// helper /////\n\nfunction getDelegateVariableMappingType(element) {\n const businessObject = getBusinessObject(element);\n\n if (businessObject.get('camunda:variableMappingClass') !== undefined) {\n return 'class';\n } else if (businessObject.get('camunda:variableMappingDelegateExpression') !== undefined) {\n return 'delegateExpression';\n }\n\n return 'none';\n}\n","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport {\n addExtensionElements,\n getExtensionElementsList,\n removeExtensionElements\n} from '../../../utils/ExtensionElementsUtil';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n TextFieldEntry,\n isTextFieldEntryEdited,\n CheckboxEntry,\n isCheckboxEntryEdited,\n SelectEntry,\n isSelectEntryEdited\n} from '@bpmn-io/properties-panel';\n\nimport { CalledBpmnProps } from './CalledBpmnProps';\nimport { CalledCmmnProps } from './CalledCmmnProps';\nimport { DelegateVariableMappingProps } from './DelegateVariableMappingProps';\n\n/**\n * Defines bpmn:CallActivity properties.\n * Cf. https://docs.camunda.org/manual/7.15/reference/bpmn20/subprocesses/call-activity/\n */\nexport function CallActivityProps(props) {\n const { element } = props;\n\n if (!is(element, 'bpmn:CallActivity')) {\n return [];\n }\n\n const entries = [];\n\n entries.push({\n id: 'calledElementType',\n component: CalledElementType,\n isEdited: isSelectEntryEdited\n });\n\n const calledElementType = getCalledElementType(element);\n\n if (calledElementType === 'bpmn') {\n entries.push(\n ...CalledBpmnProps({ element }),\n ...BusinessKeyProps({ element }),\n ...DelegateVariableMappingProps({ element })\n );\n } else if (calledElementType === 'cmmn') {\n entries.push(\n ...CalledCmmnProps({ element }),\n ...BusinessKeyProps({ element })\n );\n } else {\n entries.push(...BusinessKeyProps({ element }));\n }\n\n return entries;\n}\n\nconst DEFAULT_PROPS = {\n calledElement: undefined,\n 'camunda:calledElementBinding': undefined,\n 'camunda:calledElementVersion': undefined,\n 'camunda:calledElementTenantId': undefined,\n 'camunda:variableMappingClass' : undefined,\n 'camunda:variableMappingDelegateExpression' : undefined,\n 'camunda:caseRef': undefined,\n 'camunda:caseBinding': undefined,\n 'camunda:caseVersion': undefined,\n 'camunda:caseTenantId': undefined\n};\n\nconst DEFAULT_BUSINESS_KEY = '#{execution.processBusinessKey}';\n\nfunction CalledElementType(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const getValue = () => {\n return getCalledElementType(element);\n };\n\n const setValue = (value) => {\n const properties = { ...DEFAULT_PROPS };\n\n if (value === 'bpmn') {\n properties['calledElement'] = '';\n } else if (value === 'cmmn') {\n properties['camunda:caseRef'] = '';\n }\n\n commandStack.execute('element.updateProperties', { element, properties });\n };\n\n const getOptions = () => ([\n { value: '', label: translate('') },\n { value: 'bpmn', label: translate('BPMN') },\n { value: 'cmmn', label: translate('CMMN') }\n ]);\n\n return ;\n}\n\nfunction BusinessKeyProps(props) {\n const { element } = props;\n\n const entries = [\n {\n id: 'calledElementBusinessKey',\n component: BusinessKey,\n isEdited: isCheckboxEntryEdited\n }\n ];\n\n if (hasBusinessKey(element)) {\n entries.push({\n id: 'calledElementBusinessKeyExpression',\n component: BusinessKeyExpression,\n isEdited: isTextFieldEntryEdited\n });\n }\n\n return entries;\n}\n\nfunction BusinessKey(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const modeling = useService('modeling');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n\n const getValue = () => {\n return hasBusinessKey(element);\n };\n\n const setValue = value => {\n if (value) {\n addBusinessKey();\n } else {\n removeBusinessKey();\n }\n };\n\n function addBusinessKey() {\n const businessObject = getBusinessObject(element);\n let extensionElements = businessObject.get('extensionElements');\n\n // (1) If there are no extension elements, create camunda:In and update element's properties\n if (!extensionElements) {\n extensionElements = createElement('bpmn:ExtensionElements', {}, businessObject, bpmnFactory);\n const businessKeyItem = createBusinessKey(extensionElements);\n extensionElements.set('values', [ businessKeyItem ]);\n\n modeling.updateProperties(element, { extensionElements });\n } else {\n\n // (2) Otherwise, add camunda:In to the existing values\n const businessKeyItem = createBusinessKey(extensionElements);\n\n addExtensionElements(element, businessObject, businessKeyItem, bpmnFactory, commandStack);\n }\n }\n\n function createBusinessKey(parent) {\n return createElement(\n 'camunda:In',\n {\n businessKey: DEFAULT_BUSINESS_KEY\n },\n parent,\n bpmnFactory\n );\n }\n\n function removeBusinessKey() {\n const businessObject = getBusinessObject(element);\n const camundaInList = getExtensionElementsList(businessObject, 'camunda:In');\n const businessKeyItems = camundaInList.filter(\n camundaIn => camundaIn.get('businessKey') !== undefined\n );\n\n removeExtensionElements(element, businessObject, businessKeyItems, commandStack);\n }\n\n return ;\n}\n\nfunction BusinessKeyExpression(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => getBusinessKey(element);\n const setValue = value => {\n const camundaIn = findCamundaInWithBusinessKey(element);\n\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: camundaIn,\n properties: {\n businessKey: value || ''\n }\n });\n };\n\n return ;\n}\n\n// helper //////\n\nfunction getCalledElementType(element) {\n const businessObject = getBusinessObject(element);\n\n if (businessObject.get('calledElement') !== undefined) {\n return 'bpmn';\n } else if (businessObject.get('camunda:caseRef') !== undefined) {\n return 'cmmn';\n }\n\n return '';\n}\n\nfunction hasBusinessKey(element) {\n return getBusinessKey(element) !== undefined;\n}\n\nfunction getBusinessKey(element) {\n const camundaIn = findCamundaInWithBusinessKey(element);\n\n if (camundaIn) {\n return camundaIn.get('businessKey');\n }\n}\n\nfunction findCamundaInWithBusinessKey(element) {\n const businessObject = getBusinessObject(element);\n const camundaInList = getExtensionElementsList(businessObject, 'camunda:In');\n\n for (const camundaIn of camundaInList) {\n const businessKey = camundaIn.get('businessKey');\n\n if (businessKey !== undefined) {\n return camundaIn;\n }\n }\n}\n","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { TextFieldEntry, isTextFieldEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\n\nexport function CandidateStarterProps(props) {\n const {\n element\n } = props;\n\n const businessObject = getBusinessObject(element);\n\n if (!is(element, 'bpmn:Process') &&\n !(is(element, 'bpmn:Participant') && businessObject.get('processRef'))) {\n return [];\n }\n\n return [\n {\n id: 'candidateStarterGroups',\n component: CandidateStarterGroups,\n isEdited: isTextFieldEntryEdited\n },\n {\n id: 'candidateStarterUsers',\n component: CandidateStarterUsers,\n isEdited: isTextFieldEntryEdited\n }\n ];\n}\n\nfunction CandidateStarterGroups(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack'),\n translate = useService('translate'),\n debounce = useService('debounceInput');\n\n const process = getProcess(element);\n\n const getValue = () => {\n return process.get('camunda:candidateStarterGroups') || '';\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element: element,\n moddleElement: process,\n properties: {\n 'camunda:candidateStarterGroups': value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'candidateStarterGroups',\n label: translate('Candidate starter groups'),\n description: translate('Specify more than one group as a comma separated list.'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction CandidateStarterUsers(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack'),\n translate = useService('translate'),\n debounce = useService('debounceInput');\n\n const process = getProcess(element);\n\n const getValue = () => {\n return process.get('camunda:candidateStarterUsers') || '';\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element: element,\n moddleElement: process,\n properties: {\n 'camunda:candidateStarterUsers': value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'candidateStarterUsers',\n label: translate('Candidate starter users'),\n description: translate('Specify more than one user as a comma separated list.'),\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper //////////////////\n\n/**\n * getProcess - get the businessObject of the process referred to by a bpmn:Process\n * or by a bpmn:Participant\n *\n * @param {ModdleElement} element either a bpmn:Process or a bpmn:Participant\n * @return {BusinessObject}\n */\nfunction getProcess(element) {\n return is(element, 'bpmn:Process') ?\n getBusinessObject(element) :\n getBusinessObject(element).get('processRef');\n}\n","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n isAny\n} from 'bpmn-js/lib/features/modeling/util/ModelingUtil';\n\nimport { getEventDefinition } from '../../bpmn/utils/EventDefinitionUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n TextFieldEntry,\n isTextFieldEntryEdited,\n SelectEntry,\n isSelectEntryEdited,\n TextAreaEntry,\n isTextAreaEntryEdited\n} from '@bpmn-io/properties-panel';\n\n/**\n * Defines condition properties for conditional sequence flow.\n * Cf. https://docs.camunda.org/manual/latest/reference/bpmn20/gateways/sequence-flow/\n */\nexport function ConditionProps(props) {\n const { element } = props;\n\n if (\n !(is(element, 'bpmn:SequenceFlow') && isConditionalSource(element.source)) &&\n !getConditionalEventDefinition(element)\n ) {\n return [];\n }\n\n const entries = [];\n\n if (getConditionalEventDefinition(element)) {\n entries.push(\n ...VariableEventProps({ element })\n );\n }\n\n entries.push({\n id: 'conditionType',\n component: ConditionType,\n isEdited: isSelectEntryEdited\n });\n\n const conditionType = getConditionType(element);\n\n if (conditionType === 'script') {\n entries.push(\n ...ConditionScriptProps({ element })\n );\n } else if (conditionType === 'expression') {\n entries.push({\n id: 'conditionExpression',\n component: ConditionExpression,\n isEdited: isTextFieldEntryEdited\n });\n }\n\n return entries;\n}\n\n\nfunction ConditionType(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n\n const getValue = () => {\n return getConditionType(element);\n };\n\n const setValue = (value) => {\n\n // (1) Remove formalExpression if is selected\n if (value === '') {\n updateCondition(element, commandStack, undefined);\n } else {\n\n // (2) Create and set formalExpression element containing the conditionExpression\n const attributes = {\n body: '',\n language: value === 'script' ? '' : undefined,\n };\n const formalExpressionElement = createFormalExpression(element, attributes, bpmnFactory);\n\n updateCondition(element, commandStack, formalExpressionElement);\n }\n };\n\n const getOptions = () => ([\n { value: '', label: translate('') },\n { value: 'script', label: translate('Script') },\n { value: 'expression', label: translate('Expression') }\n ]);\n\n return ;\n}\n\n\nfunction ConditionExpression(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack'),\n bpmnFactory = useService('bpmnFactory'),\n translate = useService('translate'),\n debounce = useService('debounceInput');\n\n const getValue = () => {\n return getConditionExpression(element).get('body');\n };\n\n const setValue = (value) => {\n const conditionExpression = createFormalExpression(\n element,\n {\n body: value\n },\n bpmnFactory\n );\n\n updateCondition(element, commandStack, conditionExpression);\n };\n\n return ;\n}\n\nfunction ConditionScriptProps(props) {\n const { element } = props;\n\n const entries = [];\n const scriptType = getScriptType(element);\n\n // (1) language\n entries.push({\n id: 'conditionScriptLanguage',\n component: Language,\n isEdited: isTextFieldEntryEdited\n });\n\n // (2) type\n entries.push({\n id: 'conditionScriptType',\n component: ScriptType,\n isEdited: isSelectEntryEdited\n });\n\n // (3) script\n if (scriptType === 'script') {\n entries.push({\n id: 'conditionScriptValue',\n component: Script,\n isEdited: isTextAreaEntryEdited\n });\n } else if (scriptType === 'resource') {\n\n // (4) resource\n entries.push({\n id: 'conditionScriptResource',\n component: Resource,\n isEdited: isTextFieldEntryEdited\n });\n }\n\n return entries;\n}\n\nfunction Language(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return getConditionExpression(element).get('language');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element: element,\n moddleElement: getConditionExpression(element),\n properties: {\n language: value || ''\n }\n });\n };\n\n return ;\n}\n\nfunction ScriptType(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const getValue = () => {\n return getScriptType(element);\n };\n\n const setValue = (value) => {\n\n // reset script properties on type change\n const updatedProperties = {\n 'body': value === 'script' ? '' : undefined,\n 'camunda:resource': value === 'resource' ? '' : undefined\n };\n\n commandStack.execute('element.updateModdleProperties', {\n element: element,\n moddleElement: getConditionExpression(element),\n properties: updatedProperties\n });\n };\n\n const getOptions = () => {\n\n const options = [\n { value: 'resource', label: translate('External resource') },\n { value: 'script', label: translate('Inline script') }\n ];\n\n return options;\n };\n\n return SelectEntry({\n element,\n id: 'conditionScriptType',\n label: translate('Script type'),\n getValue,\n setValue,\n getOptions\n });\n}\n\nfunction Script(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return getConditionExpression(element).get('body');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element: element,\n moddleElement: getConditionExpression(element),\n properties: {\n 'body': value || ''\n }\n });\n };\n\n return ;\n}\n\nfunction Resource(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return getConditionExpression(element).get('camunda:resource');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element: element,\n moddleElement: getConditionExpression(element),\n properties: {\n 'camunda:resource': value || ''\n }\n });\n };\n\n return ;\n}\n\nfunction VariableEventProps(props) {\n const {\n element\n } = props;\n\n const entries = [];\n\n entries.push({\n id: 'conditionVariableName',\n component: VariableName,\n isEdited: isTextFieldEntryEdited\n });\n\n if (!is(element, 'bpmn:StartEvent') || isInEventSubProcess(element)) {\n entries.push({\n id: 'conditionVariableEvents',\n component: VariableEvents,\n isEdited: isTextFieldEntryEdited\n });\n }\n\n return entries;\n}\n\n\nfunction VariableName(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return getConditionalEventDefinition(element).get('variableName');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element: element,\n moddleElement: getConditionalEventDefinition(element),\n properties: {\n variableName: value || ''\n }\n });\n };\n\n return ;\n}\n\n\nfunction VariableEvents(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return getConditionalEventDefinition(element).get('variableEvents');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element: element,\n moddleElement: getConditionalEventDefinition(element),\n properties: {\n variableEvents: value || ''\n }\n });\n };\n\n return ;\n}\n\n\n// helper ////////////////////\n\nconst CONDITIONAL_SOURCES = [\n 'bpmn:Activity',\n 'bpmn:ExclusiveGateway',\n 'bpmn:InclusiveGateway',\n 'bpmn:ComplexGateway'\n];\n\nfunction isConditionalSource(element) {\n return isAny(element, CONDITIONAL_SOURCES);\n}\n\nfunction getConditionalEventDefinition(element) {\n if (!is(element, 'bpmn:Event')) {\n return false;\n }\n\n return getEventDefinition(element, 'bpmn:ConditionalEventDefinition');\n}\n\nfunction getConditionType(element) {\n const conditionExpression = getConditionExpression(element);\n\n if (!conditionExpression) {\n return '';\n } else {\n return conditionExpression.get('language') === undefined ? 'expression' : 'script';\n }\n}\n\n/**\n * getConditionExpression - get the body value of a condition expression for a given element\n *\n * @param {ModdleElement} element\n *\n * @return {string|undefined}\n */\nfunction getConditionExpression(element) {\n const businessObject = getBusinessObject(element);\n\n if (is(businessObject, 'bpmn:SequenceFlow')) {\n return businessObject.get('conditionExpression');\n } else if (getConditionalEventDefinition(businessObject)) {\n return getConditionalEventDefinition(businessObject).get('condition');\n }\n}\n\nfunction getScriptType(element) {\n const conditionExpression = getConditionExpression(element);\n\n const resource = conditionExpression.get('camunda:resource');\n if (typeof resource !== 'undefined') {\n return 'resource';\n } else {\n return 'script';\n }\n}\n\nfunction updateCondition(element, commandStack, condition = undefined) {\n if (is(element, 'bpmn:SequenceFlow')) {\n commandStack.execute('element.updateProperties', {\n element,\n properties: {\n conditionExpression: condition\n }\n });\n } else {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: getConditionalEventDefinition(element),\n properties: {\n condition\n }\n });\n }\n}\n\nfunction createFormalExpression(parent, attributes, bpmnFactory) {\n return createElement(\n 'bpmn:FormalExpression',\n attributes,\n is(parent, 'bpmn:SequenceFlow') ? getBusinessObject(parent) : getConditionalEventDefinition(parent),\n bpmnFactory\n );\n}\n\nfunction isInEventSubProcess(element) {\n const bo = getBusinessObject(element),\n parent = bo.$parent;\n\n return is(parent, 'bpmn:SubProcess') && parent.triggeredByEvent;\n}\n","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n TextAreaEntry,\n isTextAreaEntryEdited,\n TextFieldEntry,\n isTextFieldEntryEdited,\n SelectEntry,\n isSelectEntryEdited\n} from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\n/**\n * Cf. https://docs.camunda.org/manual/latest/user-guide/process-engine/scripting/\n */\nexport function ScriptProps(props) {\n const {\n element,\n script,\n prefix\n } = props;\n\n const entries = [];\n const scriptType = getScriptType(script || element);\n\n const idPrefix = prefix || '';\n\n // (1) scriptFormat\n entries.push({\n id: idPrefix + 'scriptFormat',\n component: Format,\n isEdited: isTextFieldEntryEdited,\n idPrefix,\n script\n });\n\n\n // (2) type\n entries.push({\n id: idPrefix + 'scriptType',\n component: Type,\n isEdited: isSelectEntryEdited,\n idPrefix,\n script\n });\n\n // (3) script\n if (scriptType === 'script') {\n entries.push({\n id: idPrefix + 'scriptValue',\n component: Script,\n isEdited: isTextAreaEntryEdited,\n idPrefix,\n script\n });\n }\n\n // (4) resource\n if (scriptType === 'resource') {\n entries.push({\n id: idPrefix + 'scriptResource',\n component: Resource,\n isEdited: isTextFieldEntryEdited,\n idPrefix,\n script\n });\n }\n\n return entries;\n}\n\nfunction Format(props) {\n const {\n element,\n idPrefix,\n script\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const businessObject = script || getBusinessObject(element);\n\n const getValue = () => {\n return businessObject.get('scriptFormat');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n scriptFormat: value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: idPrefix + 'scriptFormat',\n label: translate('Format'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction Type(props) {\n const {\n element,\n idPrefix,\n script\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const businessObject = script || getBusinessObject(element);\n const scriptProperty = getScriptProperty(businessObject);\n\n const getValue = () => {\n return getScriptType(businessObject);\n };\n\n const setValue = (value) => {\n\n // reset script properties on type change\n const properties = {\n [ scriptProperty ]: value === 'script' ? '' : undefined,\n 'camunda:resource': value === 'resource' ? '' : undefined\n };\n\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties\n });\n };\n\n const getOptions = () => {\n\n const options = [\n { value: '', label: translate('') },\n { value: 'resource', label: translate('External resource') },\n { value: 'script', label: translate('Inline script') }\n ];\n\n return options;\n };\n\n return SelectEntry({\n element,\n id: idPrefix + 'scriptType',\n label: translate('Type'),\n getValue,\n setValue,\n getOptions\n });\n}\n\nfunction Script(props) {\n const {\n element,\n idPrefix,\n script\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const businessObject = script || getBusinessObject(element);\n const scriptProperty = getScriptProperty(businessObject);\n\n const getValue = () => {\n return getScriptValue(businessObject);\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n [ scriptProperty ]: value || ''\n }\n });\n };\n\n return TextAreaEntry({\n element,\n id: idPrefix + 'scriptValue',\n label: translate('Script'),\n getValue,\n setValue,\n debounce,\n monospace: true\n });\n}\n\nfunction Resource(props) {\n const {\n element,\n idPrefix,\n script\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const businessObject = script || getBusinessObject(element);\n\n const getValue = () => {\n return businessObject.get('camunda:resource');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:resource': value || ''\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: idPrefix + 'scriptResource',\n label: translate('Resource'),\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper ////////////////////\n\nfunction getScriptType(element) {\n const businessObject = getBusinessObject(element);\n\n const scriptValue = getScriptValue(businessObject);\n if (typeof scriptValue !== 'undefined') {\n return 'script';\n }\n\n const resource = businessObject.get('camunda:resource');\n if (typeof resource !== 'undefined') {\n return 'resource';\n }\n}\n\nfunction getScriptValue(businessObject) {\n return businessObject.get(getScriptProperty(businessObject));\n}\n\nfunction isScript(element) {\n return is(element, 'camunda:Script');\n}\n\nfunction getScriptProperty(businessObject) {\n return isScript(businessObject) ? 'value' : 'script';\n}","import {\n isAny\n} from 'bpmn-js/lib/features/modeling/util/ModelingUtil';\n\nimport {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n createElement,\n nextId\n} from '../../../utils/ElementUtil';\n\nimport {\n getExtensionElementsList\n} from '../../../utils/ExtensionElementsUtil';\n\n\nfunction getElements(businessObject, type, property) {\n const elements = getExtensionElementsList(businessObject, type);\n return !property ? elements : (elements[0] || {})[property] || [];\n}\n\nfunction getParameters(element, prop) {\n const inputOutput = getInputOutput(element);\n return (inputOutput && inputOutput.get(prop)) || [];\n}\n\n/**\n * Get a camunda:inputOutput from the business object\n *\n * @param {djs.model.Base | ModdleElement} element\n *\n * @return {ModdleElement} the inputOutput object\n */\nexport function getInputOutput(element) {\n if (is(element, 'camunda:Connector')) {\n return element.get('inputOutput');\n }\n\n const businessObject = getBusinessObject(element);\n\n return (getElements(businessObject, 'camunda:InputOutput') || [])[0];\n}\n\n\n/**\n * Return all input parameters existing in the business object, and\n * an empty array if none exist.\n *\n * @param {djs.model.Base} element\n *\n * @return {Array} a list of input parameter objects\n */\nexport function getInputParameters(element) {\n return getParameters(element, 'inputParameters');\n}\n\n/**\n * Return all output parameters existing in the business object, and\n * an empty array if none exist.\n *\n * @param {djs.model.Base} element\n *\n * @return {Array} a list of output parameter objects\n */\nexport function getOutputParameters(element) {\n return getParameters(element, 'outputParameters');\n}\n\n\nexport function isInputOutputSupported(element) {\n const businessObject = getBusinessObject(element);\n\n return (\n is(businessObject, 'bpmn:FlowNode') && !(\n isAny(businessObject, [ 'bpmn:StartEvent', 'bpmn:BoundaryEvent', 'bpmn:Gateway' ]) ||\n is(businessObject, 'bpmn:SubProcess') && businessObject.get('triggeredByEvent')\n )\n );\n}\n\nexport function areInputParametersSupported(element) {\n return isInputOutputSupported(element);\n}\n\nexport function areOutputParametersSupported(element) {\n const businessObject = getBusinessObject(element);\n return (\n isInputOutputSupported(element) &&\n !is(businessObject, 'bpmn:EndEvent') &&\n !businessObject.loopCharacteristics\n );\n}\n\nexport function getInputOutputType(parameter) {\n const definitionTypes = {\n 'camunda:Map': 'map',\n 'camunda:List': 'list',\n 'camunda:Script': 'script'\n };\n\n let type = 'stringOrExpression';\n\n const definition = parameter.get('definition');\n if (typeof definition !== 'undefined') {\n type = definitionTypes[definition.$type];\n }\n\n return type;\n}\n\nexport function CreateParameterCmd(element, type, parent, bpmnFactory) {\n const isInput = type === 'camunda:InputParameter';\n\n const newParameter = createElement(type, {\n name: nextId(isInput ? 'Input_' : 'Output_')\n }, parent, bpmnFactory);\n\n const propertyName = isInput ? 'inputParameters' : 'outputParameters';\n\n return {\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: parent,\n properties: {\n [ propertyName ]: [ ...parent.get(propertyName), newParameter ]\n }\n }\n };\n}\n\nexport function AddParameterCmd(element, type, bpmnFactory) {\n const commands = [];\n const businessObject = getBusinessObject(element);\n\n let extensionElements = businessObject.get('extensionElements');\n\n // (1) ensure extension elements\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) ensure inputOutput\n let inputOutput = getInputOutput(element);\n\n if (!inputOutput) {\n const parent = extensionElements;\n\n inputOutput = createElement('camunda:InputOutput', {\n inputParameters: [],\n outputParameters: []\n }, parent, bpmnFactory);\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), inputOutput ]\n }\n }\n });\n }\n\n // (3) create + add parameter\n commands.push(CreateParameterCmd(element, type, inputOutput, bpmnFactory));\n\n return commands;\n}","import { ListEntry, SimpleEntry } from '@bpmn-io/properties-panel';\n\nimport {\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { without } from 'min-dash';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\n\nfunction ListProp(props) {\n const {\n element,\n id: idPrefix,\n index,\n item\n } = props;\n\n const id = `${ idPrefix }-listItem-${ index }`;\n\n return (\n \n );\n}\n\nexport function ListProps(props) {\n const {\n idPrefix,\n element,\n parameter\n } = props;\n\n const bpmnFactory = useService('bpmnFactory');\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const list = parameter.get('definition');\n const items = list.get('items');\n\n function addItem() {\n const value = createElement('camunda:Value', {}, parameter, bpmnFactory);\n\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: list,\n properties: {\n items: [ ...list.get('items'), value ]\n }\n });\n }\n\n function removeItem(item) {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: list,\n properties: {\n items: without(list.get('items'), item)\n }\n });\n }\n\n function compareFn(item, anotherItem) {\n const [ value = '', anotherValue = '' ] = [ item.value, anotherItem.value ];\n\n return value === anotherValue ? 0 : value > anotherValue ? 1 : -1;\n }\n\n return ListEntry({\n element,\n autoFocusEntry: true,\n compareFn,\n id: idPrefix + '-list',\n items,\n label: translate('List values'),\n onAdd: addItem,\n onRemove: removeItem,\n component: ListProp\n });\n}\n\nfunction ListItem(props) {\n const {\n idPrefix,\n element,\n item\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const definitionLabels = {\n 'camunda:Map': translate('Map'),\n 'camunda:List': translate('List'),\n 'camunda:Script': translate('Script')\n };\n\n const getValue = () => {\n if (isDefinitionType(item)) {\n return definitionLabels[item.$type];\n }\n\n return item.get('value');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: item,\n properties: {\n value\n }\n });\n };\n\n return ListValue({\n id: idPrefix + '-value',\n disabled: isDefinitionType(item),\n getValue,\n setValue\n });\n}\n\nfunction ListValue(props) {\n const {\n id,\n disabled,\n getValue,\n setValue\n } = props;\n\n const debounce = useService('debounceInput', true);\n\n return (\n \n );\n}\n\n// helper //////////////////////\n\nfunction isScript(element) {\n return is(element, 'camunda:Script');\n}\n\nfunction isList(element) {\n return is(element, 'camunda:List');\n}\n\nfunction isMap(element) {\n return is(element, 'camunda:Map');\n}\n\nfunction isDefinitionType(element) {\n return isScript(element) || isList(element) || isMap(element);\n}","import { CollapsibleEntry, ListEntry, TextFieldEntry } from '@bpmn-io/properties-panel';\n\nimport {\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { without } from 'min-dash';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nfunction MapProp(props) {\n const {\n element,\n id: idPrefix,\n index,\n item: entry,\n open\n } = props;\n\n const id = `${ idPrefix }-mapEntry-${ index }`;\n\n const translate = useService('translate');\n\n return (\n ') }\n open={ open }\n />\n );\n}\n\nexport function MapProps(props) {\n const {\n idPrefix,\n element,\n parameter\n } = props;\n\n const bpmnFactory = useService('bpmnFactory');\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const map = parameter.get('definition');\n const entries = map.get('entries');\n\n function addEntry() {\n const entry = createElement('camunda:Entry', {}, parameter, bpmnFactory);\n\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: map,\n properties: {\n entries: [ ...map.get('entries'), entry ]\n }\n });\n }\n\n function removeEntry(entry) {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: map,\n properties: {\n entries: without(map.get('entries'), entry)\n }\n });\n }\n\n function compareFn(entry, anotherEntry) {\n const [ key = '', anotherKey = '' ] = [ entry.key, anotherEntry.key ];\n\n return key === anotherKey ? 0 : key > anotherKey ? 1 : -1;\n }\n\n return ListEntry({\n element,\n autoFocusEntry: true,\n compareFn,\n id: idPrefix + '-map',\n items: entries,\n label: translate('Map entries'),\n onAdd: addEntry,\n onRemove: removeEntry,\n component: MapProp,\n });\n}\n\nfunction MapEntry(props) {\n const {\n element,\n entry,\n idPrefix\n } = props;\n\n const entries = [ {\n id: idPrefix + '-key',\n component: MapKey,\n entry,\n idPrefix,\n element\n },{\n id: idPrefix + '-value',\n component: MapValue,\n entry,\n idPrefix,\n element\n } ];\n\n return entries;\n}\n\nfunction MapKey(props) {\n const {\n element,\n entry,\n idPrefix\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: entry,\n properties: {\n key: value\n }\n });\n };\n\n const getValue = () => {\n return entry.get('key');\n };\n\n return TextFieldEntry({\n element: entry,\n id: idPrefix + '-key',\n label: translate('Key'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction MapValue(props) {\n const {\n element,\n entry,\n idPrefix\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const definition = entry.get('definition');\n const definitionLabels = {\n 'camunda:Map': translate('Map'),\n 'camunda:List': translate('List'),\n 'camunda:Script': translate('Script')\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: entry,\n properties: {\n value\n }\n });\n };\n\n const getValue = () => {\n if (isDefinitionType(definition)) {\n return definitionLabels[definition.$type];\n }\n\n return entry.get('value');\n };\n\n return TextFieldEntry({\n element: entry,\n id: idPrefix + '-value',\n label: translate('Value'),\n getValue,\n setValue,\n disabled: isDefinitionType(definition),\n debounce\n });\n}\n\n\n// helper ///////////////////\n\nfunction isScript(element) {\n return is(element, 'camunda:Script');\n}\n\nfunction isList(element) {\n return is(element, 'camunda:List');\n}\n\nfunction isMap(element) {\n return is(element, 'camunda:Map');\n}\n\nfunction isDefinitionType(element) {\n return isScript(element) || isList(element) || isMap(element);\n}","import {\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n SelectEntry,\n isSelectEntryEdited,\n TextFieldEntry,\n isTextFieldEntryEdited,\n TextAreaEntry,\n isTextAreaEntryEdited\n} from '@bpmn-io/properties-panel';\n\nimport {\n ScriptProps\n} from './ScriptProps';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n getInputOutputType\n} from '../utils/InputOutputUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport {\n ListProps\n} from './ListProps';\n\nimport {\n MapProps\n} from './MapProps';\n\nconst DEFAULT_PROPS = {\n value: undefined,\n definition: undefined\n};\n\n\nexport default function InputOutputParameter(props) {\n const {\n idPrefix,\n element,\n parameter\n } = props;\n\n const inputOutputType = getInputOutputType(parameter);\n\n let entries = [\n {\n id: idPrefix + '-name',\n component: Name,\n isEdited: isTextFieldEntryEdited,\n idPrefix,\n parameter\n },\n {\n id: idPrefix + '-type',\n component: Type,\n isEdited: isSelectEntryEdited,\n idPrefix,\n parameter\n }\n ];\n\n // (1) String or expression\n if (inputOutputType === 'stringOrExpression') {\n\n entries.push({\n id: idPrefix + '-stringOrExpression',\n component: StringOrExpression,\n isEdited: isTextAreaEntryEdited,\n idPrefix,\n parameter\n });\n\n // (2) Script\n } else if (inputOutputType === 'script') {\n const script = parameter.get('definition');\n\n entries = [\n ...entries,\n ...ScriptProps({ element, prefix: idPrefix + '-', script })\n ];\n\n // (3) List\n } else if (inputOutputType === 'list') {\n entries.push({\n id: `${idPrefix}-list`,\n component: ListProps,\n idPrefix,\n parameter\n });\n\n // (4) Map\n } else if (inputOutputType === 'map') {\n entries.push({\n id: `${idPrefix}-map`,\n component: MapProps,\n idPrefix,\n parameter\n });\n }\n\n return entries;\n}\n\nfunction Name(props) {\n const {\n idPrefix,\n element,\n parameter\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: parameter,\n properties: {\n name: value\n }\n });\n };\n\n const getValue = (parameter) => {\n return parameter.get('name');\n };\n\n return TextFieldEntry({\n element: parameter,\n id: idPrefix + '-name',\n label: translate(isInput(parameter) ? 'Local variable name' : 'Process variable name'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction Type(props) {\n const {\n idPrefix,\n element,\n parameter\n } = props;\n\n const bpmnFactory = useService('bpmnFactory');\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const createDefinitionElement = (type) => {\n return createElement(type, {}, parameter, bpmnFactory);\n };\n\n const getValue = (mapping) => {\n return getInputOutputType(mapping);\n };\n\n const setValue = (value) => {\n let properties = {\n ...DEFAULT_PROPS\n };\n\n if (value === 'script') {\n properties.definition = createDefinitionElement('camunda:Script');\n }\n else if (value === 'list') {\n properties.definition = createDefinitionElement('camunda:List');\n }\n else if (value === 'map') {\n properties.definition = createDefinitionElement('camunda:Map');\n }\n\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: parameter,\n properties\n });\n };\n\n const getOptions = () => {\n const options = [\n { label: translate('List'), value: 'list' },\n { label: translate('Map'), value: 'map' },\n { label: translate('Script'), value: 'script' },\n { label: translate('String or expression'), value: 'stringOrExpression' },\n ];\n\n return options;\n };\n\n return SelectEntry({\n element: parameter,\n id: idPrefix + '-type',\n label: translate('Assignment type'),\n getValue,\n setValue,\n getOptions\n });\n}\n\nfunction StringOrExpression(props) {\n const {\n idPrefix,\n element,\n parameter\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: parameter,\n properties: {\n value\n }\n });\n };\n\n const getValue = (parameter) => {\n return parameter.get('value');\n };\n\n return TextAreaEntry({\n element: parameter,\n id: idPrefix + '-stringOrExpression',\n label: translate('Value'),\n description: translate('Start typing \"${}\" to create an expression.'),\n getValue,\n setValue,\n rows: 1,\n debounce\n });\n}\n\n\n// helper /////////////////////\n\nfunction isInput(parameter) {\n return is(parameter, 'camunda:InputParameter');\n}","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n isAny\n} from 'bpmn-js/lib/features/modeling/util/ModelingUtil';\n\nimport {\n getMessageEventDefinition\n} from '../../bpmn/utils/EventDefinitionUtil';\n\nimport {\n getExtensionElementsList\n} from '../../../utils/ExtensionElementsUtil';\n\n\n/**\n * Check whether an element is camunda:ServiceTaskLike\n *\n * @param {djs.model.Base} element\n *\n * @return {boolean} a boolean value\n */\nexport function isServiceTaskLike(element) {\n return is(element, 'camunda:ServiceTaskLike');\n}\n\n/**\n * Returns 'true' if the given element is 'camunda:DmnCapable'\n *\n * @param {djs.model.Base} element\n *\n * @return {boolean} a boolean value\n */\nexport function isDmnCapable(element) {\n return is(element, 'camunda:DmnCapable');\n}\n\n/**\n * Returns 'true' if the given element is 'camunda:ExternalCapable'\n *\n * @param {djs.model.Base} element\n *\n * @return {boolean} a boolean value\n */\nexport function isExternalCapable(element) {\n return is(element, 'camunda:ExternalCapable');\n}\n\n/**\n * getServiceTaskLikeBusinessObject - Get a 'camunda:ServiceTaskLike' business object.\n *\n * If the given element is not a 'camunda:ServiceTaskLike', then 'false'\n * is returned.\n *\n * @param {djs.model.Base} element\n * @return {ModdleElement} the 'camunda:ServiceTaskLike' business object\n */\nexport function getServiceTaskLikeBusinessObject(element) {\n\n if (is(element, 'bpmn:IntermediateThrowEvent') || is(element, 'bpmn:EndEvent')) {\n\n // change business object to 'messageEventDefinition' when\n // the element is a message intermediate throw event or message end event\n // because the camunda extensions (e.g. camunda:class) are in the message\n // event definition tag and not in the intermediate throw event or end event tag\n const messageEventDefinition = getMessageEventDefinition(element);\n if (messageEventDefinition) {\n element = messageEventDefinition;\n }\n }\n\n return isServiceTaskLike(element) && getBusinessObject(element);\n}\n\n/**\n * Returns the implementation type of the given element.\n *\n * Possible implementation types are:\n * - dmn\n * - connector\n * - external\n * - class\n * - expression\n * - delegateExpression\n * - script\n * - or undefined, when no matching implementation type is found\n *\n * @param {djs.model.Base} element\n *\n * @return {String} the implementation type\n */\nexport function getImplementationType(element) {\n\n const businessObject = (\n getListenerBusinessObject(element) ||\n getServiceTaskLikeBusinessObject(element)\n );\n\n if (!businessObject) {\n return;\n }\n\n if (isDmnCapable(businessObject)) {\n const decisionRef = businessObject.get('camunda:decisionRef');\n if (typeof decisionRef !== 'undefined') {\n return 'dmn';\n }\n }\n\n if (isServiceTaskLike(businessObject)) {\n const connectors = getExtensionElementsList(businessObject, 'camunda:Connector');\n if (connectors.length) {\n return 'connector';\n }\n }\n\n if (isExternalCapable(businessObject)) {\n const type = businessObject.get('camunda:type');\n if (type === 'external') {\n return 'external';\n }\n }\n\n const cls = businessObject.get('camunda:class');\n if (typeof cls !== 'undefined') {\n return 'class';\n }\n\n const expression = businessObject.get('camunda:expression');\n if (typeof expression !== 'undefined') {\n return 'expression';\n }\n\n const delegateExpression = businessObject.get('camunda:delegateExpression');\n if (typeof delegateExpression !== 'undefined') {\n return 'delegateExpression';\n }\n\n const script = businessObject.get('script');\n if (typeof script !== 'undefined') {\n return 'script';\n }\n}\n\nfunction getListenerBusinessObject(businessObject) {\n if (isAny(businessObject, [ 'camunda:ExecutionListener','camunda:TaskListener' ])) {\n return businessObject;\n }\n}\n","import {\n getExtensionElementsList\n} from '../../../utils/ExtensionElementsUtil';\n\nimport {\n getImplementationType,\n getServiceTaskLikeBusinessObject\n} from './ImplementationTypeUtils';\n\nexport function areConnectorsSupported(element) {\n const businessObject = getServiceTaskLikeBusinessObject(element);\n return businessObject && getImplementationType(businessObject) === 'connector';\n}\n\nexport function getConnectors(businessObject) {\n return getExtensionElementsList(businessObject, 'camunda:Connector');\n}\n\nexport function getConnector(element) {\n const businessObject = getServiceTaskLikeBusinessObject(element);\n const connectors = getConnectors(businessObject);\n\n return connectors[0];\n}","import InputOutputParameter from './InputOutputParameter';\n\nimport {\n CreateParameterCmd,\n getInputParameters,\n getInputOutput\n} from '../utils/InputOutputUtil';\n\nimport {\n areConnectorsSupported,\n getConnector\n} from '../utils/ConnectorUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport { without } from 'min-dash';\n\n\nexport function ConnectorInputProps(props) {\n const {\n element,\n injector\n } = props;\n\n if (!areConnectorsSupported(element)) {\n return null;\n }\n\n const connector = getConnector(element);\n\n const commandStack = injector.get('commandStack'),\n bpmnFactory = injector.get('bpmnFactory');\n\n const inputParameters = getInputParameters(connector) || [];\n\n const items = inputParameters.map((parameter, index) => {\n const id = element.id + '-connector-inputParameter-' + index;\n\n return {\n id,\n label: parameter.get('name') || '',\n entries: InputOutputParameter({\n element,\n idPrefix: id,\n parameter\n }),\n autoFocusEntry: id + '-name',\n remove: removeFactory({ connector, element, parameter, commandStack })\n };\n });\n\n function add(event) {\n event.stopPropagation();\n\n const commands = [];\n\n // (1) ensure inputOutput\n let inputOutput = getInputOutput(connector);\n\n if (!inputOutput) {\n inputOutput = createElement('camunda:InputOutput', {\n inputParameters: [],\n outputParameters: []\n }, connector, bpmnFactory);\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element: element,\n moddleElement: connector,\n properties: {\n inputOutput\n }\n }\n });\n }\n\n // (2) create + add parameter\n commands.push(\n CreateParameterCmd(element, 'camunda:InputParameter', inputOutput, bpmnFactory)\n );\n\n // (3) commit all updates\n commandStack.execute('properties-panel.multi-command-executor', commands);\n }\n\n return {\n items,\n add\n };\n}\n\nfunction removeFactory(props) {\n const {\n commandStack,\n connector,\n element,\n parameter\n } = props;\n\n return function(event) {\n event.stopPropagation();\n\n const inputOutput = getInputOutput(connector);\n\n if (!inputOutput) {\n return;\n }\n\n commandStack.execute('element.updateModdleProperties', {\n element: element,\n moddleElement: inputOutput,\n properties: {\n inputParameters: without(inputOutput.get('inputParameters'), parameter)\n }\n });\n };\n}\n","import InputOutputParameter from './InputOutputParameter';\n\nimport {\n CreateParameterCmd,\n getOutputParameters,\n getInputOutput\n} from '../utils/InputOutputUtil';\n\nimport {\n areConnectorsSupported,\n getConnector\n} from '../utils/ConnectorUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport { without } from 'min-dash';\n\n\nexport function ConnectorOutputProps(props) {\n const {\n element,\n injector\n } = props;\n\n if (!areConnectorsSupported(element)) {\n return null;\n }\n\n const connector = getConnector(element);\n\n const commandStack = injector.get('commandStack'),\n bpmnFactory = injector.get('bpmnFactory');\n\n const outputParameters = getOutputParameters(connector) || [];\n\n const items = outputParameters.map((parameter, index) => {\n const id = element.id + '-connector-outputParameter-' + index;\n\n return {\n id,\n label: parameter.get('name') || '',\n entries: InputOutputParameter({\n idPrefix: id,\n element,\n parameter\n }),\n autoFocusEntry: id + '-name',\n remove: removeFactory({ connector, element, commandStack, parameter })\n };\n });\n\n function add(event) {\n event.stopPropagation();\n\n const commands = [];\n\n // (1) ensure inputOutput\n let inputOutput = getInputOutput(connector);\n\n if (!inputOutput) {\n inputOutput = createElement('camunda:InputOutput', {\n inputParameters: [],\n outputParameters: []\n }, connector, bpmnFactory);\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element: element,\n moddleElement: connector,\n properties: {\n inputOutput\n }\n }\n });\n }\n\n // (2) create + add parameter\n commands.push(\n CreateParameterCmd(element, 'camunda:OutputParameter', inputOutput, bpmnFactory)\n );\n\n // (3) commit all updates\n commandStack.execute('properties-panel.multi-command-executor', commands);\n }\n\n return {\n items,\n add\n };\n}\n\nfunction removeFactory(props) {\n const {\n commandStack,\n connector,\n element,\n parameter\n } = props;\n\n return function(event) {\n event.stopPropagation();\n\n const inputOutput = getInputOutput(connector);\n\n if (!inputOutput) {\n return;\n }\n\n commandStack.execute('element.updateModdleProperties', {\n element: element,\n moddleElement: inputOutput,\n properties: {\n outputParameters: without(inputOutput.get('outputParameters'), parameter)\n }\n });\n };\n}\n","import {\n findIndex\n} from 'min-dash';\n\nimport {\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { TextFieldEntry, isTextFieldEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n getError,\n getErrorEventDefinition,\n isErrorSupported\n} from '../../bpmn/utils/EventDefinitionUtil';\n\n\nexport function ErrorProps(props) {\n const {\n element,\n entries\n } = props;\n\n if (!isErrorSupported(element)) {\n return entries;\n }\n\n const error = getError(element);\n\n // (1) errorMessage (error)\n if (error) {\n const idx = findPlaceToInsert(entries, 'errorCode');\n\n // place below errorCode\n entries.splice(idx, 0, {\n id: 'errorMessage',\n component: ErrorMessage,\n isEdited: isTextFieldEntryEdited\n });\n }\n\n\n if (!canHaveErrorVariables(element)) {\n return entries;\n }\n\n // (2) errorCodeVariable + errorMessageVariable (errorEventDefinition)\n entries.push(\n {\n id: 'errorCodeVariable',\n component: ErrorCodeVariable,\n isEdited: isTextFieldEntryEdited\n },\n {\n id: 'errorMessageVariable',\n component: ErrorMessageVariable,\n isEdited: isTextFieldEntryEdited\n }\n );\n\n return entries;\n}\n\nfunction ErrorMessage(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const error = getError(element);\n\n const getValue = () => {\n return error.get('camunda:errorMessage');\n };\n\n const setValue = (value) => {\n return commandStack.execute(\n 'element.updateModdleProperties',\n {\n element,\n moddleElement: error,\n properties: {\n 'camunda:errorMessage': value\n }\n }\n );\n };\n\n return TextFieldEntry({\n element,\n id: 'errorMessage',\n label: translate('Message'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction ErrorCodeVariable(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const errorEventDefinition = getErrorEventDefinition(element);\n\n const getValue = () => {\n return errorEventDefinition.get('camunda:errorCodeVariable');\n };\n\n const setValue = (value) => {\n return commandStack.execute(\n 'element.updateModdleProperties',\n {\n element,\n moddleElement: errorEventDefinition,\n properties: {\n 'camunda:errorCodeVariable': value\n }\n }\n );\n };\n\n return TextFieldEntry({\n element,\n id: 'errorCodeVariable',\n label: translate('Code variable'),\n description: translate('Define the name of the variable that will contain the error code.'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction ErrorMessageVariable(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const errorEventDefinition = getErrorEventDefinition(element);\n\n const getValue = () => {\n return errorEventDefinition.get('camunda:errorMessageVariable');\n };\n\n const setValue = (value) => {\n return commandStack.execute(\n 'element.updateModdleProperties',\n {\n element,\n moddleElement: errorEventDefinition,\n properties: {\n 'camunda:errorMessageVariable': value\n }\n }\n );\n };\n\n return TextFieldEntry({\n element,\n id: 'errorMessageVariable',\n label: translate('Message variable'),\n description: translate('Define the name of the variable that will contain the error message.'),\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper ///////////////////////\n\nfunction canHaveErrorVariables(element) {\n return is(element, 'bpmn:StartEvent') || is (element, 'bpmn:BoundaryEvent');\n}\n\nfunction findPlaceToInsert(entries, idx) {\n const entryIndex = findIndex(entries, (entry) => entry.id === idx);\n return entryIndex >= 0 ? entryIndex + 1 : entries.length;\n}","import { TextFieldEntry, isTextFieldEntryEdited, isSelectEntryEdited } from '@bpmn-io/properties-panel';\n\nimport ReferenceSelect from '../../../entries/ReferenceSelect';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n sortBy\n} from 'min-dash';\n\nimport { getBusinessObject } from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n createElement,\n findRootElementById,\n findRootElementsByType,\n getRoot,\n nextId\n} from '../../../utils/ElementUtil';\n\nexport const EMPTY_OPTION = '';\nexport const CREATE_NEW_OPTION = 'create-new';\n\n\nexport default function Error(props) {\n\n const {\n idPrefix,\n errorEventDefinition\n } = props;\n\n let entries = [ {\n id: idPrefix + '-errorRef',\n component: ErrorRef,\n isEdited: isSelectEntryEdited,\n errorEventDefinition,\n idPrefix\n } ];\n\n const error = errorEventDefinition.get('errorRef');\n\n if (error) {\n entries = [\n ...entries,\n {\n id: idPrefix + '-errorName',\n component: ErrorName,\n isEdited: isTextFieldEntryEdited,\n error,\n errorEventDefinition,\n idPrefix\n },\n {\n id: idPrefix + '-errorCode',\n component: ErrorCode,\n isEdited: isTextFieldEntryEdited,\n error,\n errorEventDefinition,\n idPrefix\n },\n {\n id: idPrefix + '-errorMessage',\n component: ErrorMessage,\n isEdited: isTextFieldEntryEdited,\n error,\n errorEventDefinition,\n idPrefix\n }\n ];\n }\n\n entries.push({\n id: idPrefix + '-expression',\n component: Expression,\n errorEventDefinition,\n idPrefix\n });\n\n return entries;\n}\n\nfunction ErrorRef(props) {\n const {\n element,\n errorEventDefinition,\n idPrefix\n } = props;\n\n const bpmnFactory = useService('bpmnFactory');\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const businessObject = getBusinessObject(element);\n\n const getValue = () => {\n const error = errorEventDefinition.get('errorRef');\n\n if (error) {\n return error.get('id');\n }\n\n return EMPTY_OPTION;\n };\n\n const setValue = (value) => {\n const root = getRoot(businessObject);\n const commands = [];\n\n let error;\n\n // (1) create new error\n if (value === CREATE_NEW_OPTION) {\n error = createElement(\n 'bpmn:Error',\n { name: nextId('Error_') },\n root,\n bpmnFactory\n );\n\n value = error.get('id');\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: root,\n properties: {\n rootElements: [ ...root.get('rootElements'), error ]\n }\n }\n });\n }\n\n // (2) update (or remove) errorRef\n error = error || findRootElementById(businessObject, 'bpmn:Error', value);\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: errorEventDefinition,\n properties: {\n errorRef: error\n }\n }\n });\n\n // (3) commit all updates\n return commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n const getOptions = () => {\n\n let options = [\n { value: EMPTY_OPTION, label: translate('') },\n { value: CREATE_NEW_OPTION, label: translate('Create new ...') }\n ];\n\n const errors = findRootElementsByType(getBusinessObject(element), 'bpmn:Error');\n\n sortByName(errors).forEach(error => {\n options.push({\n value: error.get('id'),\n label: error.get('name') || error.get('id')\n });\n });\n\n return options;\n };\n\n return ReferenceSelect({\n element,\n id: idPrefix + '-errorRef',\n label: translate('Global error reference'),\n autoFocusEntry: idPrefix + '-errorName',\n getValue,\n setValue,\n getOptions\n });\n}\n\nfunction ErrorName(props) {\n const {\n element,\n error,\n idPrefix\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return error.get('name');\n };\n\n const setValue = (value) => {\n return commandStack.execute(\n 'element.updateModdleProperties',\n {\n element,\n moddleElement: error,\n properties: {\n name: value\n }\n }\n );\n };\n\n return TextFieldEntry({\n element,\n id: idPrefix + '-errorName',\n label: translate('Name'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction ErrorCode(props) {\n const {\n element,\n error,\n idPrefix\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return error.get('errorCode');\n };\n\n const setValue = (value) => {\n return commandStack.execute(\n 'element.updateModdleProperties',\n {\n element,\n moddleElement: error,\n properties: {\n errorCode: value\n }\n }\n );\n };\n\n return TextFieldEntry({\n element,\n id: idPrefix + '-errorCode',\n label: translate('Code'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction ErrorMessage(props) {\n const {\n element,\n error,\n idPrefix\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return error.get('errorMessage');\n };\n\n const setValue = (value) => {\n return commandStack.execute(\n 'element.updateModdleProperties',\n {\n element,\n moddleElement: error,\n properties: {\n errorMessage: value\n }\n }\n );\n };\n\n return TextFieldEntry({\n element,\n id: idPrefix + '-errorMessage',\n label: translate('Message'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction Expression(props) {\n const {\n element,\n errorEventDefinition,\n idPrefix\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: errorEventDefinition,\n properties: {\n 'camunda:expression': value\n }\n });\n };\n\n const getValue = () => {\n return errorEventDefinition.get('camunda:expression');\n };\n\n return TextFieldEntry({\n element: errorEventDefinition,\n id: idPrefix + '-expression',\n label: translate('Throw expression'),\n getValue,\n setValue,\n debounce\n });\n}\n\n// helpers //////////\n\nfunction sortByName(elements) {\n return sortBy(elements, e => (e.name || '').toLowerCase());\n}","import {\n getImplementationType\n} from '../utils/ImplementationTypeUtils';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport {\n addExtensionElements,\n getExtensionElementsList,\n removeExtensionElements\n} from '../../../utils/ExtensionElementsUtil';\n\nimport Error from './Error';\n\nimport { getBusinessObject, is } from 'bpmn-js/lib/util/ModelUtil';\n\n\nexport function ErrorsProps({ element, injector }) {\n\n const businessObject = getBusinessObject(element);\n\n if (!is(element, 'bpmn:ServiceTask') || getImplementationType(element) !== 'external') {\n return null;\n }\n\n const errorEventDefinitions = getExtensionElementsList(businessObject, 'camunda:ErrorEventDefinition');\n\n const bpmnFactory = injector.get('bpmnFactory'),\n commandStack = injector.get('commandStack');\n\n const items = errorEventDefinitions.map((errorEventDefinition, index) => {\n const id = element.id + '-error-' + index;\n\n return {\n id,\n label: getErrorLabel(errorEventDefinition),\n entries: Error({\n idPrefix: id,\n element,\n errorEventDefinition\n }),\n autoFocusEntry: id + '-errorRef',\n remove: removeFactory({ commandStack, element, errorEventDefinition })\n };\n });\n\n return {\n items,\n add: addFactory({ bpmnFactory, commandStack, element }),\n shouldSort: false\n };\n}\n\nfunction removeFactory({ commandStack, element, errorEventDefinition }) {\n return function(event) {\n event.stopPropagation();\n\n const businessObject = getBusinessObject(element);\n\n removeExtensionElements(element, businessObject, errorEventDefinition, commandStack);\n };\n}\n\nfunction addFactory({ bpmnFactory, commandStack, element }) {\n return function(event) {\n event.stopPropagation();\n\n const businessObject = getBusinessObject(element);\n\n const error = createElement(\n 'camunda:ErrorEventDefinition',\n {},\n undefined,\n bpmnFactory\n );\n\n addExtensionElements(element, businessObject, error, bpmnFactory, commandStack);\n };\n}\n\n// helpers //////////\n\nexport function getErrorLabel(errorEventDefinition) {\n const error = errorEventDefinition.get('errorRef');\n\n if (!error) {\n return '';\n }\n\n const errorCode = error.get('errorCode'),\n name = error.get('name') || '';\n\n if (errorCode) {\n return `${ name } (code = ${ errorCode })`;\n }\n\n return name;\n}\n","import {\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { TextFieldEntry, isTextFieldEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n getEscalationEventDefinition,\n isEscalationSupported\n} from '../../bpmn/utils/EventDefinitionUtil';\n\n/**\n * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry\n */\n\n/**\n * @returns {Array} entries\n */\nexport function EscalationProps(props) {\n const {\n element,\n entries\n } = props;\n\n if (!(isEscalationSupported(element) && canHaveEscalationVariables(element))) {\n return entries;\n }\n\n entries.push(\n {\n id: 'escalationCodeVariable',\n component: EscalationCodeVariable,\n isEdited: isTextFieldEntryEdited\n }\n );\n\n return entries;\n}\n\nfunction EscalationCodeVariable(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const escalationEventDefinition = getEscalationEventDefinition(element);\n\n const getValue = () => {\n return escalationEventDefinition.get('camunda:escalationCodeVariable');\n };\n\n const setValue = (value) => {\n return commandStack.execute(\n 'element.updateModdleProperties',\n {\n element,\n moddleElement: escalationEventDefinition,\n properties: {\n 'camunda:escalationCodeVariable': value\n }\n }\n );\n };\n\n return TextFieldEntry({\n element,\n id: 'escalationCodeVariable',\n label: translate('Code variable'),\n description: translate('Define the name of the variable that will contain the escalation code.'),\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper ///////////////////////\n\nfunction canHaveEscalationVariables(element) {\n return is(element, 'bpmn:StartEvent') || is(element, 'bpmn:BoundaryEvent');\n}","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { TextFieldEntry, isTextFieldEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n getServiceTaskLikeBusinessObject\n} from '../utils/ImplementationTypeUtils';\n\n\nexport function ExternalTaskPriorityProps(props) {\n const {\n element\n } = props;\n\n const businessObject = getBusinessObject(element);\n\n if (!is(element, 'bpmn:Process') &&\n !(is(element, 'bpmn:Participant') && businessObject.get('processRef')) &&\n !isExternalTaskLike(element)) {\n return [];\n }\n\n return [\n {\n id: 'externalTaskPriority',\n component: ExternalTaskPriority,\n isEdited: isTextFieldEntryEdited\n },\n ];\n}\n\nfunction ExternalTaskPriority(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack'),\n translate = useService('translate'),\n debounce = useService('debounceInput');\n\n let businessObject;\n\n if (is(element, 'bpmn:Participant')) {\n businessObject = getBusinessObject(element).get('processRef');\n } else if (isExternalTaskLike(element)) {\n businessObject = getServiceTaskLikeBusinessObject(element);\n } else {\n businessObject = getBusinessObject(element);\n }\n\n const getValue = () => {\n return businessObject.get('camunda:taskPriority');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:taskPriority': value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'externalTaskPriority',\n label: translate('Priority'),\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper //////////////////\n\nfunction isExternalTaskLike(element) {\n const bo = getServiceTaskLikeBusinessObject(element),\n type = bo && bo.get('camunda:type');\n\n return is(bo, 'camunda:ServiceTaskLike') && type && type === 'external';\n}\n","import { TextFieldEntry, SelectEntry } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\nconst DEFAULT_PROPS = {\n 'stringValue': undefined,\n 'string': undefined,\n 'expression': undefined\n};\n\n\nexport default function FieldInjection(props) {\n\n const {\n element,\n idPrefix,\n field\n } = props;\n\n const entries = [ {\n id: idPrefix + '-name',\n component: NameProperty,\n field,\n idPrefix,\n element\n },{\n id: idPrefix + '-type',\n component: TypeProperty,\n field,\n idPrefix,\n element\n },{\n id: idPrefix + '-value',\n component: ValueProperty,\n field,\n idPrefix,\n element\n } ];\n\n return entries;\n}\n\nfunction NameProperty(props) {\n const {\n idPrefix,\n element,\n field\n } = props;\n\n const commandStack = useService('commandStack'),\n translate = useService('translate'),\n debounce = useService('debounceInput');\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: field,\n properties: {\n name: value\n }\n });\n };\n\n const getValue = (field) => {\n return field.name;\n };\n\n return TextFieldEntry({\n element: field,\n id: idPrefix + '-name',\n label: translate('Name'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction TypeProperty(props) {\n const {\n idPrefix,\n element,\n field\n } = props;\n\n const commandStack = useService('commandStack'),\n translate = useService('translate');\n\n const getValue = (field) => {\n return determineType(field);\n };\n\n const setValue = (value) => {\n const properties = Object.assign({}, DEFAULT_PROPS);\n\n properties[ value ] = '';\n\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: field,\n properties\n });\n };\n\n const getOptions = (element) => {\n\n const options = [\n { value: 'string', label: translate('String') },\n { value: 'expression', label: translate('Expression') }\n ];\n\n return options;\n };\n\n return SelectEntry({\n element: field,\n id: idPrefix + '-type',\n label: translate('Type'),\n getValue,\n setValue,\n getOptions\n });\n}\n\nfunction ValueProperty(props) {\n const {\n idPrefix,\n element,\n field\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const setValue = (value) => {\n\n // (1) determine which type we have set\n const type = determineType(field);\n\n // (2) set property accordingly\n const properties = Object.assign({}, DEFAULT_PROPS);\n\n properties[ type ] = value || '';\n\n // (3) execute the update command\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: field,\n properties\n });\n };\n\n const getValue = (field) => {\n return field.string || field.stringValue || field.expression;\n };\n\n return TextFieldEntry({\n element: field,\n id: idPrefix + '-value',\n label: translate('Value'),\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper ///////////////////\n\n\n/**\n * determineType - get the type of a fieldInjection based on the attributes\n * set on it\n *\n * @param {ModdleElement} field\n * @return {('string'|'expression')}\n */\nfunction determineType(field) {\n\n // string is the default type\n return ('string' in field && 'string') ||\n ('expression' in field && 'expression') ||\n ('stringValue' in field && 'string') ||\n 'string';\n}\n","import {\n getServiceTaskLikeBusinessObject\n} from '../utils/ImplementationTypeUtils';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport {\n addExtensionElements,\n getExtensionElementsList,\n removeExtensionElements\n} from '../../../utils/ExtensionElementsUtil';\n\nimport FieldInjection from './FieldInjection';\n\n\nexport function FieldInjectionProps({ element, injector }) {\n\n const businessObject = getServiceTaskLikeBusinessObject(element);\n\n if (!businessObject) {\n return null;\n }\n\n const fieldInjections = getExtensionElementsList(businessObject, 'camunda:Field');\n\n const bpmnFactory = injector.get('bpmnFactory'),\n commandStack = injector.get('commandStack');\n\n const items = fieldInjections.map((field, index) => {\n const id = element.id + '-fieldInjection-' + index;\n\n return {\n id,\n label: getFieldLabel(field),\n entries: FieldInjection({\n idPrefix: id,\n element,\n field\n }),\n autoFocusEntry: id + '-name',\n remove: removeFactory({ commandStack, element, field })\n };\n });\n\n return {\n items,\n add: addFactory({ bpmnFactory, commandStack, element })\n };\n}\n\nfunction removeFactory({ commandStack, element, field }) {\n return function(event) {\n event.stopPropagation();\n\n const businessObject = getServiceTaskLikeBusinessObject(element);\n\n removeExtensionElements(element, businessObject, field, commandStack);\n };\n}\n\nfunction addFactory({ bpmnFactory, commandStack, element }) {\n return function(event) {\n event.stopPropagation();\n\n const businessObject = getServiceTaskLikeBusinessObject(element);\n\n const fieldInjection = createElement(\n 'camunda:Field',\n {\n name: undefined,\n string: '', // string is the default type\n stringValue: undefined\n },\n null,\n bpmnFactory\n );\n\n addExtensionElements(element, businessObject, fieldInjection, bpmnFactory, commandStack);\n };\n}\n\n// helper ///////////////\n\nfunction getFieldLabel(field) {\n return field.name || '';\n}\n","import { TextFieldEntry } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\n\nexport default function FormFieldConstraint(props) {\n\n const {\n constraint,\n element,\n idPrefix\n } = props;\n\n const entries = [\n {\n id: idPrefix + '-name',\n component: Name,\n constraint,\n idPrefix,\n element\n },\n {\n id: idPrefix + '-config',\n component: Config,\n constraint,\n idPrefix,\n element\n } ];\n\n return entries;\n}\n\nfunction Name(props) {\n const {\n idPrefix,\n element,\n constraint\n } = props;\n\n const commandStack = useService('commandStack'),\n translate = useService('translate'),\n debounce = useService('debounceInput');\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: constraint,\n properties: {\n name: value\n }\n });\n };\n\n const getValue = () => {\n return constraint.name;\n };\n\n return TextFieldEntry({\n element: constraint,\n id: idPrefix + '-name',\n label: translate('Name'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction Config(props) {\n const {\n idPrefix,\n element,\n constraint\n } = props;\n\n const commandStack = useService('commandStack'),\n translate = useService('translate'),\n debounce = useService('debounceInput');\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: constraint,\n properties: {\n config: value\n }\n });\n };\n\n const getValue = () => {\n return constraint.config;\n };\n\n return TextFieldEntry({\n element: constraint,\n id: idPrefix + '-config',\n label: translate('Config'),\n getValue,\n setValue,\n debounce\n });\n}\n","import { TextFieldEntry } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\n\nexport default function FormFieldProperty(props) {\n\n const {\n element,\n idPrefix,\n property\n } = props;\n\n const entries = [\n {\n id: idPrefix + '-id',\n component: Id,\n idPrefix,\n property,\n element\n },\n {\n id: idPrefix + '-value',\n component: Value,\n idPrefix,\n property,\n element\n } ];\n\n return entries;\n}\n\nfunction Id(props) {\n const {\n idPrefix,\n element,\n property\n } = props;\n\n const commandStack = useService('commandStack'),\n translate = useService('translate'),\n debounce = useService('debounceInput');\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: property,\n properties: {\n id: value\n }\n });\n };\n\n const getValue = () => {\n return property.id;\n };\n\n return TextFieldEntry({\n element: property,\n id: idPrefix + '-id',\n label: translate('ID'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction Value(props) {\n const {\n idPrefix,\n element,\n property\n } = props;\n\n const commandStack = useService('commandStack'),\n translate = useService('translate'),\n debounce = useService('debounceInput');\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: property,\n properties: {\n value\n }\n });\n };\n\n const getValue = () => {\n return property.value;\n };\n\n return TextFieldEntry({\n element: property,\n id: idPrefix + '-value',\n label: translate('Value'),\n getValue,\n setValue,\n debounce\n });\n}\n","import { TextFieldEntry } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\n\nexport default function FormFieldValue(props) {\n\n const {\n element,\n idPrefix,\n value\n } = props;\n\n const entries = [\n {\n id: idPrefix + '-id',\n component: Id,\n idPrefix,\n value,\n element\n },\n {\n id: idPrefix + '-name',\n component: Name,\n idPrefix,\n value,\n element\n } ];\n\n return entries;\n}\n\nfunction Id(props) {\n const {\n idPrefix,\n element,\n value\n } = props;\n\n const commandStack = useService('commandStack'),\n translate = useService('translate'),\n debounce = useService('debounceInput');\n\n const setValue = (val) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: value,\n properties: {\n id: val\n }\n });\n };\n\n const getValue = () => {\n return value.id;\n };\n\n return TextFieldEntry({\n element: value,\n id: idPrefix + '-id',\n label: translate('ID'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction Name(props) {\n const {\n idPrefix,\n element,\n value\n } = props;\n\n const commandStack = useService('commandStack'),\n translate = useService('translate'),\n debounce = useService('debounceInput');\n\n const setValue = (val) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: value,\n properties: {\n name: val\n }\n });\n };\n\n const getValue = () => {\n return value.name;\n };\n\n return TextFieldEntry({\n element: value,\n id: idPrefix + '-name',\n label: translate('Name'),\n getValue,\n setValue,\n debounce\n });\n}\n","import { CollapsibleEntry, ListEntry, TextFieldEntry, SelectEntry } from '@bpmn-io/properties-panel';\n\nimport FormFieldConstraint from './FormFieldConstraint';\nimport FormFieldProperty from './FormFieldProperty';\nimport FormFieldValue from './FormFieldValue';\n\nimport {\n getBusinessObject\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport { without } from 'min-dash';\n\n\nconst CUSTOM_TYPE_VALUE = '',\n DEFINED_TYPE_VALUES = [ 'boolean', 'date', 'enum', 'long', 'string', undefined ];\n\nexport default function FormField(props) {\n const {\n idPrefix,\n formField\n } = props;\n\n const entries = [\n {\n id: idPrefix + '-formFieldID',\n component: Id,\n idPrefix,\n formField\n },\n {\n id: idPrefix + '-formFieldLabel',\n component: Label,\n idPrefix,\n formField\n },\n {\n id: idPrefix + '-formFieldType',\n component: Type,\n idPrefix,\n formField\n }\n ];\n\n if (!DEFINED_TYPE_VALUES.includes(formField.get('type'))) {\n entries.push({\n id: idPrefix + '-formFieldCustomType',\n component: CustomType,\n idPrefix,\n formField\n });\n }\n\n entries.push({\n id: idPrefix + '-formFieldDefaultValue',\n component: DefaultValue,\n idPrefix,\n formField\n });\n\n if (formField.get('type') === 'enum') {\n entries.push({\n id: idPrefix + '-formFieldValues',\n component: ValueList,\n formField,\n idPrefix\n });\n }\n\n entries.push({\n id: idPrefix + '-formFieldConstraints',\n component: ConstraintList,\n formField,\n idPrefix\n },\n {\n id: idPrefix + '-formFieldProperties',\n component: PropertiesList,\n formField,\n idPrefix\n });\n\n return entries;\n}\n\nfunction Id(props) {\n const {\n idPrefix,\n element,\n formField\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: formField,\n properties: {\n id: value\n }\n });\n };\n\n const getValue = () => {\n return formField.get('id');\n };\n\n return TextFieldEntry({\n element: formField,\n id: idPrefix + '-formFieldID',\n label: translate('ID'),\n description: translate('Refers to the process variable name'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction Label(props) {\n const {\n idPrefix,\n element,\n formField\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: formField,\n properties: {\n label: value\n }\n });\n };\n\n const getValue = () => {\n return formField.get('label');\n };\n\n return TextFieldEntry({\n element: formField,\n id: idPrefix + '-formFieldLabel',\n label: translate('Label'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction Type(props) {\n const {\n idPrefix,\n element,\n formField\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: formField,\n properties: {\n type: value\n }\n });\n };\n\n const getValue = () => {\n const type = formField.get('type');\n\n return DEFINED_TYPE_VALUES.includes(type) ?\n type :\n CUSTOM_TYPE_VALUE;\n };\n\n const getOptions = () => {\n const options = [\n { label: translate('boolean'), value: 'boolean' },\n { label: translate('date'), value: 'date' },\n { label: translate('enum'), value: 'enum' },\n { label: translate('long'), value: 'long' },\n { label: translate('string'), value: 'string' },\n { label: translate(''), value: CUSTOM_TYPE_VALUE }\n ];\n\n // for the initial state only, we want to show an empty state\n if (formField.get('type') === undefined) {\n options.unshift({ label: translate(''), value: '' });\n }\n\n return options;\n };\n\n return SelectEntry({\n element: formField,\n id: idPrefix + '-formFieldType',\n label: translate('Type'),\n getValue,\n setValue,\n getOptions\n });\n}\n\nfunction CustomType(props) {\n const {\n idPrefix,\n element,\n formField\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const setValue = (value) => {\n const type = value || '';\n\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: formField,\n properties: {\n type\n }\n });\n };\n\n const getValue = () => {\n return formField.get('type');\n };\n\n return TextFieldEntry({\n element: formField,\n id: idPrefix + '-formFieldCustomType',\n label: translate('Custom type'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction DefaultValue(props) {\n const {\n idPrefix,\n element,\n formField\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: formField,\n properties: {\n defaultValue: value\n }\n });\n };\n\n const getValue = () => {\n return formField.get('defaultValue');\n };\n\n return TextFieldEntry({\n element: formField,\n id: idPrefix + '-formFieldDefaultValue',\n label: translate('Default value'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction Value(props) {\n const {\n element,\n id: idPrefix,\n index,\n item: value,\n open\n } = props;\n\n const translate = useService('translate');\n\n const id = `${ idPrefix }-value-${ index }`;\n\n return (\n ') }\n open={ open }\n />\n );\n}\n\nfunction ValueList(props) {\n const {\n element,\n formField,\n idPrefix\n } = props;\n\n const id = `${ idPrefix }-formFieldValues`;\n\n const bpmnFactory = useService('bpmnFactory');\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const values = formField.get('values') || [];\n\n function addValue() {\n const value = createElement(\n 'camunda:Value',\n { id: undefined, name: undefined },\n formField,\n bpmnFactory\n );\n\n commandStack.execute('element.updateModdleProperties', {\n element: element,\n moddleElement: formField,\n properties: {\n values: [ ...formField.get('values'), value ]\n }\n });\n }\n\n function removeValue(value) {\n commandStack.execute('element.updateModdleProperties', {\n element: element,\n moddleElement: formField,\n properties: {\n values: without(formField.get('values'), value)\n }\n });\n }\n\n return ;\n}\n\nfunction Constraint(props) {\n const {\n element,\n id: idPrefix,\n index,\n item: constraint,\n open\n } = props;\n\n const translate = useService('translate');\n\n const id = `${ idPrefix }-constraint-${ index }`;\n\n return (\n ') }\n open={ open }\n />\n );\n}\n\nfunction ConstraintList(props) {\n const {\n element,\n formField,\n idPrefix\n } = props;\n\n const id = `${ idPrefix }-formFieldConstraints`;\n\n const bpmnFactory = useService('bpmnFactory');\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const businessObject = getBusinessObject(element);\n\n let validation = formField.get('validation');\n\n const constraints = (validation && validation.get('constraints')) || [];\n\n function addConstraint() {\n const commands = [];\n\n // (1) ensure validation\n if (!validation) {\n validation = createElement(\n 'camunda:Validation',\n { },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: formField,\n properties: { validation }\n }\n });\n }\n\n // (2) add constraint\n const constraint = createElement(\n 'camunda:Constraint',\n { name: undefined, config: undefined },\n validation,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: validation,\n properties: {\n constraints: [ ...validation.get('constraints'), constraint ]\n }\n }\n });\n\n // (3) commit updates\n commandStack.execute('properties-panel.multi-command-executor', commands);\n }\n\n function removeConstraint(constraint) {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: validation,\n properties: {\n constraints: without(validation.get('constraints'), constraint)\n }\n });\n }\n\n return (\n \n );\n}\n\nfunction Property(props) {\n const {\n element,\n id: idPrefix,\n index,\n item: property,\n open\n } = props;\n\n const translate = useService('translate');\n\n const id = `${ idPrefix }-property-${ index }`;\n\n return (\n ') }\n open={ open }\n />\n );\n}\n\nfunction PropertiesList(props) {\n const {\n element,\n formField,\n idPrefix\n } = props;\n\n const id = `${ idPrefix }-formFieldProperties`;\n\n const bpmnFactory = useService('bpmnFactory');\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const businessObject = getBusinessObject(element);\n\n let properties = formField.get('properties');\n\n const propertyEntries = (properties && properties.get('values')) || [];\n\n function addProperty() {\n const commands = [];\n\n // (1) ensure properties\n if (!properties) {\n properties = createElement(\n 'camunda:Properties',\n { },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: formField,\n properties: { properties }\n }\n });\n }\n\n // (2) add property\n const property = createElement(\n 'camunda:Property',\n { id: undefined, value: undefined },\n properties,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: properties,\n properties: {\n values: [ ...properties.get('values'), property ]\n }\n }\n });\n\n // (3) commit updates\n commandStack.execute('properties-panel.multi-command-executor', commands);\n }\n\n function removeProperty(property) {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: properties,\n properties: {\n values: without(properties.get('values'), property)\n }\n });\n }\n\n return ;\n}\n\n// helper //////////////////\n\nfunction createAlphanumericCompare(field) {\n return function(entry, anotherEntry) {\n const [ key = '', anotherKey = '' ] = [ entry[field], anotherEntry[field] ];\n\n return key === anotherKey ? 0 : key > anotherKey ? 1 : -1;\n };\n}\n","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n getExtensionElementsList\n} from '../../../utils/ExtensionElementsUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport FormField from './FormField';\n\nimport {\n without\n} from 'min-dash';\n\nexport function FormDataProps({ element, injector }) {\n if (!isFormDataSupported(element)) {\n return;\n }\n\n const formFields = getFormFieldsList(element) || [];\n\n const bpmnFactory = injector.get('bpmnFactory'),\n commandStack = injector.get('commandStack');\n\n const items = formFields.map((formField, index) => {\n const id = element.id + '-formField-' + index;\n\n return {\n id,\n label: formField.get('id') || '',\n entries: FormField({\n idPrefix: id,\n element,\n formField\n }),\n autoFocusEntry: id + '-formFieldID',\n remove: removeFactory({ commandStack, element, formField })\n };\n });\n\n return {\n items,\n add: addFactory({ bpmnFactory, commandStack, element }),\n shouldSort: false\n };\n}\n\nfunction addFactory({ bpmnFactory, commandStack, element }) {\n return function(event) {\n event.stopPropagation();\n\n const commands = [];\n\n // (1) get camunda:FormData\n const formData = getFormData(element);\n\n // (2) create camunda:FormField\n const formField = createElement('camunda:FormField', {}, formData, bpmnFactory);\n\n // (3) add formField to list\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: formData,\n properties: {\n fields: [ ...formData.get('fields'), formField ]\n }\n }\n });\n\n // (4) commit all updates\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n}\n\nfunction removeFactory({ commandStack, element, formField }) {\n return function(event) {\n event.stopPropagation();\n\n const formData = getFormData(element),\n formFields = getFormFieldsList(element);\n\n if (!formFields || !formFields.length) {\n return;\n }\n\n const fields = without(formData.get('fields'), formField);\n\n // update formData\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: formData,\n properties: {\n fields\n }\n });\n };\n}\n\n\n// helper ///////////////////////////////\n\nfunction isFormDataSupported(element) {\n const formData = getFormData(element);\n\n return ((is(element, 'bpmn:StartEvent') && !is(element.parent, 'bpmn:SubProcess'))\n || is(element, 'bpmn:UserTask')) && formData;\n}\n\nfunction getFormData(element) {\n const bo = getBusinessObject(element);\n\n return getExtensionElementsList(bo, 'camunda:FormData')[0];\n}\n\nfunction getFormFieldsList(element) {\n const businessObject = getBusinessObject(element);\n\n const formData = getFormData(businessObject);\n\n return formData && formData.fields;\n}\n","import { isDefined } from 'min-dash';\n\nimport { getBusinessObject } from 'bpmn-js/lib/util/ModelUtil';\n\nimport { SelectEntry, isSelectEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport {\n getExtensionElementsList\n} from '../../../utils/ExtensionElementsUtil';\n\nimport { without } from 'min-dash';\n\n\nconst FORM_KEY_PROPS = {\n 'camunda:formRef': undefined,\n 'camunda:formRefBinding': undefined,\n 'camunda:formRefVersion': undefined\n};\n\nconst FORM_REF_PROPS = {\n 'camunda:formKey': undefined\n};\n\nexport function FormTypeProps(props) {\n return [\n {\n id: 'formType',\n component: FormType,\n isEdited: isSelectEntryEdited\n }\n ];\n}\n\nfunction FormType(props) {\n const { element } = props;\n\n const translate = useService('translate');\n const bpmnFactory = useService('bpmnFactory');\n const businessObject = getBusinessObject(element);\n const commandStack = useService('commandStack');\n\n let extensionElements = businessObject.get('extensionElements');\n\n const getValue = () => {\n if (isDefined(businessObject.get('camunda:formKey'))) {\n return 'formKey';\n } else if (isDefined(businessObject.get('camunda:formRef'))) {\n return 'formRef';\n } else if (getFormData(element)) {\n return 'formData';\n }\n\n return '';\n };\n\n const setValue = (value) => {\n const commands = removePropertiesCommands(element, commandStack);\n\n if (value === 'formData') {\n\n // (1) ensure extension elements\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) create camunda:FormData\n const parent = extensionElements;\n\n const formData = createElement('camunda:FormData', {\n fields: []\n }, parent, bpmnFactory);\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), formData ]\n }\n }\n });\n\n } else if (value === 'formKey') {\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:formKey': ''\n }\n }\n });\n\n } else if (value === 'formRef') {\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:formRef': ''\n }\n }\n });\n }\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n const getOptions = () => {\n return [\n { value: '', label: translate('') },\n { value: 'formRef', label: translate('Camunda Forms') },\n { value: 'formKey', label: translate('Embedded or External Task Forms') },\n { value: 'formData', label: translate('Generated Task Forms') }\n ];\n };\n\n return SelectEntry({\n element,\n id: 'formType',\n label: translate('Type'),\n getValue,\n setValue,\n getOptions\n });\n}\n\nfunction getFormData(element) {\n const bo = getBusinessObject(element);\n\n return getExtensionElementsList(bo, 'camunda:FormData')[0];\n}\n\n\nfunction removePropertiesCommands(element, commandStack) {\n const businessObject = getBusinessObject(element);\n const extensionElements = businessObject.get('extensionElements');\n const commands = [];\n\n // (1) reset formKey and formRef\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: {\n ...FORM_KEY_PROPS,\n ...FORM_REF_PROPS\n }\n }\n });\n\n // (2) remove formData if defined\n if (extensionElements && getFormData(element)) {\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: without(extensionElements.get('values'), getFormData(element))\n }\n }\n });\n }\n\n return commands;\n}","import { isDefined } from 'min-dash';\n\nimport {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nexport function getFormRefBinding(element) {\n const businessObject = getBusinessObject(element);\n\n return businessObject.get('camunda:formRefBinding') || 'latest';\n}\n\nexport function getFormType(element) {\n const businessObject = getBusinessObject(element);\n\n if (isDefined(businessObject.get('camunda:formKey'))) {\n return 'formKey';\n } else if (isDefined(businessObject.get('camunda:formRef'))) {\n return 'formRef';\n }\n}\n\nexport function isFormSupported(element) {\n return (is(element, 'bpmn:StartEvent') && !is(element.parent, 'bpmn:SubProcess'))\n || is(element, 'bpmn:UserTask');\n}","import { getBusinessObject } from 'bpmn-js/lib/util/ModelUtil';\n\nimport { TextFieldEntry, isTextFieldEntryEdited, SelectEntry, isSelectEntryEdited } from '@bpmn-io/properties-panel';\n\nimport { FormTypeProps } from './FormTypeProps';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n getFormType,\n getFormRefBinding,\n isFormSupported\n} from '../utils/FormTypeUtils';\n\n\nexport function FormProps(props) {\n const {\n element\n } = props;\n\n if (!isFormSupported(element)) {\n return [];\n }\n\n const formType = getFormType(element),\n bindingType = getFormRefBinding(element);\n\n // (1) display form type select\n const entries = [\n ...FormTypeProps({ element })\n ];\n\n // (2) display form properties based on type\n if (formType === 'formKey') {\n entries.push({\n id: 'formKey',\n component: FormKey,\n isEdited: isTextFieldEntryEdited\n });\n } else if (formType === 'formRef') {\n entries.push({\n id: 'formRef',\n component: FormRef,\n isEdited: isTextFieldEntryEdited\n }, {\n id: 'formRefBinding',\n component: Binding,\n isEdited: isSelectEntryEdited\n });\n\n if (bindingType === 'version') {\n entries.push({\n id: 'formRefVersion',\n component: Version,\n isEdited: isTextFieldEntryEdited\n });\n }\n }\n\n return entries;\n}\n\nfunction FormKey(props) {\n const { element } = props;\n\n const debounce = useService('debounceInput');\n const modeling = useService('modeling');\n const translate = useService('translate');\n\n const businessObject = getBusinessObject(element);\n\n const getValue = () => {\n return businessObject.get('camunda:formKey');\n };\n\n const setValue = (value) => {\n modeling.updateProperties(element, {\n 'camunda:formKey': value\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'formKey',\n label: translate('Form key'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction FormRef(props) {\n const { element } = props;\n\n const debounce = useService('debounceInput');\n const modeling = useService('modeling');\n const translate = useService('translate');\n\n const businessObject = getBusinessObject(element);\n\n const getValue = () => {\n return businessObject.get('camunda:formRef');\n };\n\n const setValue = (value) => {\n modeling.updateProperties(element, {\n 'camunda:formRef': value\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'formRef',\n label: translate('Form reference'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction Binding(props) {\n const { element } = props;\n\n const modeling = useService('modeling');\n const translate = useService('translate');\n\n const getValue = () => {\n return getFormRefBinding(element);\n };\n\n const setValue = (value) => {\n modeling.updateProperties(element, {\n 'camunda:formRefBinding': value\n });\n };\n\n // Note: default is \"latest\",\n // cf. https://docs.camunda.org/manual/develop/reference/bpmn20/custom-extensions/extension-attributes/#formrefbinding\n const getOptions = () => {\n\n const options = [\n { value: 'deployment', label: translate('deployment') },\n { value: 'latest', label: translate('latest') },\n { value: 'version', label: translate('version') }\n ];\n\n return options;\n };\n\n return SelectEntry({\n element,\n id: 'formRefBinding',\n label: translate('Binding'),\n getValue,\n setValue,\n getOptions\n });\n}\n\nfunction Version(props) {\n const { element } = props;\n\n const debounce = useService('debounceInput');\n const modeling = useService('modeling');\n const translate = useService('translate');\n\n const businessObject = getBusinessObject(element);\n\n const getValue = () => {\n return businessObject.get('camunda:formRefVersion');\n };\n\n const setValue = (value) => {\n modeling.updateProperties(element, {\n 'camunda:formRefVersion': value\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'formRefVersion',\n label: translate('Version'),\n getValue,\n setValue,\n debounce\n });\n}\n","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { TextFieldEntry, isTextFieldEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\n\nexport function HistoryCleanupProps(props) {\n const {\n element\n } = props;\n\n const businessObject = getBusinessObject(element);\n\n if (!is(element, 'bpmn:Process') &&\n !(is(element, 'bpmn:Participant') && businessObject.get('processRef'))) {\n return [];\n }\n\n return [\n {\n id: 'historyTimeToLive',\n component: HistoryTimeToLive,\n isEdited: isTextFieldEntryEdited\n },\n ];\n}\n\nfunction HistoryTimeToLive(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const process = getProcess(element);\n\n const getValue = () => {\n return process.get('camunda:historyTimeToLive') || '';\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: process,\n properties: {\n 'camunda:historyTimeToLive': value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'historyTimeToLive',\n label: translate('Time to live'),\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper //////////////////\n\nfunction getProcess(element) {\n return is(element, 'bpmn:Process') ?\n getBusinessObject(element) :\n getBusinessObject(element).get('processRef');\n}\n","import {\n getBusinessObject\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n TextFieldEntry,\n isTextFieldEntryEdited,\n SelectEntry,\n isSelectEntryEdited\n} from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n getImplementationType\n} from '../utils/ImplementationTypeUtils';\n\nexport function DmnImplementationProps(props) {\n const {\n element\n } = props;\n\n const entries = [];\n\n const implementationType = getImplementationType(element);\n const bindingType = getDecisionRefBinding(element);\n\n if (implementationType !== 'dmn') {\n return entries;\n }\n\n // (1) decisionRef\n entries.push({\n id: 'decisionRef',\n component: DecisionRef,\n isEdited: isTextFieldEntryEdited\n });\n\n\n // (2) binding\n entries.push({\n id: 'decisionRefBinding',\n component: Binding,\n isEdited: isSelectEntryEdited\n });\n\n // (3) version\n if (bindingType === 'version') {\n entries.push({\n id: 'decisionRefVersion',\n component: Version,\n isEdited: isTextFieldEntryEdited\n });\n }\n\n // (4) versionTag\n if (bindingType === 'versionTag') {\n entries.push({\n id: 'decisionRefVersionTag',\n component: VersionTag,\n isEdited: isTextFieldEntryEdited\n });\n }\n\n // (5) tenantId\n entries.push({\n id: 'decisionRefTenantId',\n component: TenantId,\n isEdited: isTextFieldEntryEdited\n });\n\n // (6) resultVariable\n entries.push({\n id: 'decisionRefResultVariable',\n component: ResultVariable,\n isEdited: isTextFieldEntryEdited\n });\n\n // (7) mapDecisionResult\n if (getResultVariable(element)) {\n entries.push({\n id: 'mapDecisionResult',\n component: MapDecisionResult,\n isEdited: isSelectEntryEdited\n });\n }\n\n return entries;\n}\n\nfunction DecisionRef(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const businessObject = getBusinessObject(element);\n\n const getValue = () => {\n return businessObject.get('camunda:decisionRef');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:decisionRef': value || ''\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'decisionRef',\n label: translate('Decision reference'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction Binding(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const getValue = () => {\n return getDecisionRefBinding(element);\n };\n\n const setValue = (value) => {\n const businessObject = getBusinessObject(element);\n\n // reset version properties on binding type change\n const updatedProperties = {\n 'camunda:decisionRefVersion': undefined,\n 'camunda:decisionRefVersionTag': undefined,\n 'camunda:decisionRefBinding': value\n };\n\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: updatedProperties\n });\n };\n\n // Note: default is \"latest\",\n // cf. https://docs.camunda.org/manual/latest/reference/bpmn20/custom-extensions/extension-attributes/#decisionrefbinding\n const getOptions = () => {\n\n const options = [\n { value: 'deployment', label: translate('deployment') },\n { value: 'latest', label: translate('latest') },\n { value: 'version', label: translate('version') },\n { value: 'versionTag', label: translate('versionTag') }\n ];\n\n return options;\n };\n\n return SelectEntry({\n element,\n id: 'decisionRefBinding',\n label: translate('Binding'),\n getValue,\n setValue,\n getOptions\n });\n}\n\nfunction Version(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const businessObject = getBusinessObject(element);\n\n const getValue = () => {\n return businessObject.get('camunda:decisionRefVersion');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:decisionRefVersion': value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'decisionRefVersion',\n label: translate('Version'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction VersionTag(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const businessObject = getBusinessObject(element);\n\n const getValue = () => {\n return businessObject.get('camunda:decisionRefVersionTag');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:decisionRefVersionTag': value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'decisionRefVersionTag',\n label: translate('Version tag'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction TenantId(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const businessObject = getBusinessObject(element);\n\n const getValue = () => {\n return businessObject.get('camunda:decisionRefTenantId');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:decisionRefTenantId': value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'decisionRefTenantId',\n label: translate('Tenant ID'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction ResultVariable(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const businessObject = getBusinessObject(element);\n\n const getValue = () => {\n return getResultVariable(businessObject);\n };\n\n // Note: camunda:mapDecisionResult got cleaned up in modeling behavior\n // cf. https://github.com/camunda/camunda-bpmn-js/blob/main/lib/camunda-platform/features/modeling/behavior/UpdateResultVariableBehavior.js\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:resultVariable': value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'decisionRefResultVariable',\n label: translate('Result variable'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction MapDecisionResult(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const businessObject = getBusinessObject(element);\n\n const getValue = () => {\n return businessObject.get('camunda:mapDecisionResult') || 'resultList';\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:mapDecisionResult': value\n }\n });\n };\n\n // Note: default is \"resultList\",\n // cf. https://docs.camunda.org/manual/latest/reference/bpmn20/custom-extensions/extension-attributes/#mapdecisionresult\n const getOptions = () => {\n const options = [\n { value: 'collectEntries', label: translate('collectEntries (List)') },\n { value: 'resultList', label: translate('resultList (List>)') },\n { value: 'singleEntry', label: translate('singleEntry (TypedValue)') },\n { value: 'singleResult', label: translate('singleResult (Map)') }\n ];\n\n return options;\n };\n\n return SelectEntry({\n element,\n id: 'mapDecisionResult',\n label: translate('Map decision result'),\n getValue,\n setValue,\n getOptions\n });\n}\n\n\n// helper ////////////////////\n\nfunction getDecisionRefBinding(element) {\n const businessObject = getBusinessObject(element);\n return businessObject.get('camunda:decisionRefBinding') || 'latest';\n}\n\nfunction getResultVariable(element) {\n const businessObject = getBusinessObject(element);\n return businessObject.get('camunda:resultVariable');\n}","import {\n sortBy, without\n} from 'min-dash';\n\nimport { SelectEntry, isSelectEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport {\n getExtensionElementsList\n} from '../../../utils/ExtensionElementsUtil';\n\nimport {\n getImplementationType,\n isDmnCapable,\n isExternalCapable,\n isServiceTaskLike,\n getServiceTaskLikeBusinessObject\n} from '../utils/ImplementationTypeUtils';\n\nconst DELEGATE_PROPS = {\n 'camunda:class': undefined,\n 'camunda:expression': undefined,\n 'camunda:delegateExpression': undefined,\n 'camunda:resultVariable': undefined\n};\n\nconst DMN_CAPABLE_PROPS = {\n 'camunda:decisionRef': undefined,\n 'camunda:decisionRefBinding': 'latest',\n 'camunda:decisionRefVersion': undefined,\n 'camunda:mapDecisionResult': 'resultList',\n 'camunda:decisionRefTenantId': undefined\n};\n\nconst EXTERNAL_CAPABLE_PROPS = {\n 'camunda:type': undefined,\n 'camunda:topic': undefined\n};\n\nconst IMPLEMENTATION_TYPE_NONE_LABEL = '',\n IMPLEMENTATION_TYPE_JAVA_LABEL = 'Java class',\n IMPLEMENTATION_TYPE_EXPRESSION_LABEL = 'Expression',\n IMPLEMENTATION_TYPE_DELEGATE_LABEL = 'Delegate expression',\n IMPLEMENTATION_TYPE_DMN_LABEL = 'DMN',\n IMPLEMENTATION_TYPE_EXTERNAL_LABEL = 'External',\n IMPLEMENTATION_TYPE_CONNECTOR_LABEL = 'Connector';\n\n\nexport function ImplementationTypeProps(props) {\n return [\n {\n id: 'implementationType',\n component: ImplementationType,\n isEdited: isSelectEntryEdited\n },\n ];\n}\n\n\nfunction ImplementationType(props) {\n const { element } = props;\n\n const bpmnFactory = useService('bpmnFactory');\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const getValue = () => {\n return getImplementationType(element) || '';\n };\n\n const setValue = (value) => {\n\n const oldType = getImplementationType(element);\n const businessObject = getServiceTaskLikeBusinessObject(element);\n const commands = [];\n\n let updatedProperties = DELEGATE_PROPS;\n let extensionElements = businessObject.get('extensionElements');\n\n // (1) class, expression, delegateExpression\n if (isDelegateType(value)) {\n\n updatedProperties = {\n ...updatedProperties,\n [value]: isDelegateType(oldType) ? businessObject.get(`camunda:${oldType}`) : ''\n };\n\n }\n\n // (2) dmn\n if (isDmnCapable(businessObject)) {\n updatedProperties = {\n ...updatedProperties,\n ...DMN_CAPABLE_PROPS\n };\n\n if (value === 'dmn') {\n updatedProperties = {\n ...updatedProperties,\n 'camunda:decisionRef': ''\n };\n }\n }\n\n // (3) external\n // Note: error event definition elements got cleaned up in modeling behavior\n // cf. https://github.com/camunda/camunda-bpmn-js/blob/main/lib/camunda-platform/features/modeling/behavior/DeleteErrorEventDefinitionBehavior.js\n if (isExternalCapable(businessObject)) {\n updatedProperties = {\n ...updatedProperties,\n ...EXTERNAL_CAPABLE_PROPS\n };\n\n if (value === 'external') {\n updatedProperties = {\n ...updatedProperties,\n 'camunda:type': 'external',\n 'camunda:topic': ''\n };\n }\n }\n\n // (4) connector\n if (isServiceTaskLike(businessObject)) {\n\n // (4.1) remove all connectors on type change\n const connectors = getConnectors(businessObject);\n\n if (connectors.length) {\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: without(extensionElements.get('values'), value => connectors.includes(value))\n }\n }\n });\n }\n\n // (4.2) create connector\n if (value === 'connector') {\n\n // ensure extension elements\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push(UpdateModdlePropertiesCommand(element, businessObject, { extensionElements }));\n }\n\n const connector = createElement(\n 'camunda:Connector',\n {},\n extensionElements,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), connector ]\n }\n }\n });\n }\n\n }\n\n // (5) collect all property updates\n commands.push(UpdateModdlePropertiesCommand(element, businessObject, updatedProperties));\n\n // (6) commit all updates\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n const getOptions = () => {\n const businessObject = getServiceTaskLikeBusinessObject(element);\n\n const options = [\n { value: '', label: translate(IMPLEMENTATION_TYPE_NONE_LABEL) },\n { value: 'class', label: translate(IMPLEMENTATION_TYPE_JAVA_LABEL) },\n { value: 'expression', label: translate(IMPLEMENTATION_TYPE_EXPRESSION_LABEL) },\n { value: 'delegateExpression', label: translate(IMPLEMENTATION_TYPE_DELEGATE_LABEL) }\n ];\n\n if (isDmnCapable(businessObject)) {\n options.push({ value: 'dmn', label: translate(IMPLEMENTATION_TYPE_DMN_LABEL) });\n }\n\n if (isExternalCapable(businessObject)) {\n options.push({ value: 'external', label: translate(IMPLEMENTATION_TYPE_EXTERNAL_LABEL) });\n }\n\n if (isServiceTaskLike(businessObject)) {\n options.push({ value: 'connector', label: translate(IMPLEMENTATION_TYPE_CONNECTOR_LABEL) });\n }\n\n return sortByPriority(options);\n };\n\n return SelectEntry({\n element,\n id: 'implementationType',\n label: translate('Type'),\n getValue,\n setValue,\n getOptions\n });\n}\n\n\n// helper ///////////////////////\n\nfunction isDelegateType(type) {\n return [ 'class', 'expression', 'delegateExpression' ].includes(type);\n}\n\nfunction getConnectors(businessObject) {\n return getExtensionElementsList(businessObject, 'camunda:Connector');\n}\n\nfunction UpdateModdlePropertiesCommand(element, businessObject, newProperties) {\n return {\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: newProperties\n }\n };\n}\n\nfunction sortByPriority(options) {\n const priorities = {\n [IMPLEMENTATION_TYPE_NONE_LABEL]: 0,\n [IMPLEMENTATION_TYPE_JAVA_LABEL]: 3,\n [IMPLEMENTATION_TYPE_EXPRESSION_LABEL]: 4,\n [IMPLEMENTATION_TYPE_DELEGATE_LABEL]: 5,\n [IMPLEMENTATION_TYPE_DMN_LABEL]: 1,\n [IMPLEMENTATION_TYPE_EXTERNAL_LABEL]: 2,\n [IMPLEMENTATION_TYPE_CONNECTOR_LABEL]: 6\n };\n\n return sortBy(options, o => priorities[o.label]);\n}\n","import { TextFieldEntry, isTextFieldEntryEdited } from '@bpmn-io/properties-panel';\n\nimport { DmnImplementationProps } from './DmnImplementationProps';\nimport { ImplementationTypeProps } from './ImplementationTypeProps';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n getExtensionElementsList\n} from '../../../utils/ExtensionElementsUtil';\n\nimport {\n getImplementationType,\n getServiceTaskLikeBusinessObject\n} from '../utils/ImplementationTypeUtils';\n\n\nexport function ImplementationProps(props) {\n const {\n element\n } = props;\n\n if (!getServiceTaskLikeBusinessObject(element)) {\n return [];\n }\n\n const implementationType = getImplementationType(element);\n\n // (1) display implementation type select\n const entries = [\n ...ImplementationTypeProps({ element })\n ];\n\n // (2) display implementation properties based on type\n if (implementationType === 'class') {\n entries.push({\n id: 'javaClass',\n component: JavaClass,\n isEdited: isTextFieldEntryEdited\n });\n } else if (implementationType === 'expression') {\n entries.push(\n {\n id: 'expression',\n component: Expression,\n isEdited: isTextFieldEntryEdited\n },\n {\n id: 'expressionResultVariable',\n component: ResultVariable,\n isEdited: isTextFieldEntryEdited\n }\n );\n } else if (implementationType === 'delegateExpression') {\n entries.push(\n {\n id: 'delegateExpression',\n component: DelegateExpression,\n isEdited: isTextFieldEntryEdited\n }\n );\n } else if (implementationType === 'dmn') {\n entries.push(...DmnImplementationProps({ element }));\n } else if (implementationType === 'external') {\n entries.push(\n {\n id: 'externalTopic',\n component: Topic,\n isEdited: isTextFieldEntryEdited\n }\n );\n } else if (implementationType === 'connector') {\n entries.push(\n {\n id: 'connectorId',\n component: ConnectorId,\n isEdited: isTextFieldEntryEdited\n }\n );\n }\n\n return entries;\n}\n\nexport function JavaClass(props) {\n const {\n element,\n businessObject = getServiceTaskLikeBusinessObject(element),\n id = 'javaClass'\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return businessObject.get('camunda:class');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:class': value || ''\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id,\n label: translate('Java class'),\n getValue,\n setValue,\n debounce\n });\n}\n\nexport function Expression(props) {\n const {\n element,\n businessObject = getServiceTaskLikeBusinessObject(element),\n id = 'expression'\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return businessObject.get('camunda:expression');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:expression': value || ''\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id,\n label: translate('Expression'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction ResultVariable(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const businessObject = getServiceTaskLikeBusinessObject(element);\n\n const getValue = () => {\n return businessObject.get('camunda:resultVariable');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:resultVariable': value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'expressionResultVariable',\n label: translate('Result variable'),\n getValue,\n setValue,\n debounce\n });\n}\n\nexport function DelegateExpression(props) {\n const {\n element,\n businessObject = getServiceTaskLikeBusinessObject(element),\n id = 'delegateExpression'\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const getValue = () => {\n return businessObject.get('camunda:delegateExpression');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:delegateExpression': value || ''\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id,\n label: translate('Delegate expression'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction Topic(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const businessObject = getServiceTaskLikeBusinessObject(element);\n\n const getValue = () => {\n return businessObject.get('camunda:topic');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:topic': value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'externalTopic',\n label: translate('Topic'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction ConnectorId(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const connector = getConnector(element);\n\n const getValue = () => {\n return connector.get('camunda:connectorId');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: connector,\n properties: {\n 'camunda:connectorId': value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'connectorId',\n label: translate('Connector ID'),\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper //////////////////\n\nfunction getConnectors(businessObject) {\n return getExtensionElementsList(businessObject, 'camunda:Connector');\n}\n\nfunction getConnector(element) {\n const businessObject = getServiceTaskLikeBusinessObject(element);\n const connectors = getConnectors(businessObject);\n\n return connectors[0];\n}\n","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { TextFieldEntry, isTextFieldEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\n\nexport function InitiatorProps(props) {\n const {\n element\n } = props;\n\n if (!isInitiator(element)) {\n return [];\n }\n\n return [\n {\n id: 'initiator',\n component: Initiator,\n isEdited: isTextFieldEntryEdited\n },\n ];\n}\n\nfunction Initiator(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const businessObject = getBusinessObject(element);\n\n const getValue = () => {\n return businessObject.get('camunda:initiator');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:initiator': value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'initiator',\n label: translate('Initiator'),\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper ///////////////////\n\nfunction isInitiator(element) {\n return is(element, 'camunda:Initiator') && !is(element.parent, 'bpmn:SubProcess');\n}","import { CheckboxEntry, isCheckboxEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n isAny\n} from 'bpmn-js/lib/features/modeling/util/ModelingUtil';\n\nimport {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n filter\n} from 'min-dash';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n getSignalEventDefinition\n} from '../../bpmn/utils/EventDefinitionUtil';\n\nimport {\n addExtensionElements,\n getExtensionElementsList,\n removeExtensionElements\n} from '../../../utils/ExtensionElementsUtil';\n\n\n/**\n * Cf. https://docs.camunda.org/manual/7.15/reference/bpmn20/subprocesses/call-activity/#passing-variables\n */\nexport function InMappingPropagationProps(props) {\n const {\n element\n } = props;\n\n if (!areInMappingsSupported(element)) {\n return [];\n }\n\n const entries = [\n {\n id: 'inMapping-propagation',\n component: PropagateAll,\n isEdited: isCheckboxEntryEdited\n }\n ];\n\n if (isPropagateAll(element)) {\n entries.push({\n id: 'inMapping-propagation-local',\n component: Local,\n isEdited: isCheckboxEntryEdited\n });\n }\n\n return entries;\n}\n\nfunction PropagateAll(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n\n const getValue = () => {\n return isPropagateAll(element);\n };\n\n const setValue = value => {\n if (value) {\n addInMapping();\n } else {\n removeInMapping();\n }\n };\n\n function addInMapping() {\n const businessObject = getSignalEventDefinition(element) || getBusinessObject(element);\n\n const mapping = createElement(\n 'camunda:In',\n {\n variables: 'all'\n },\n null,\n bpmnFactory\n );\n\n addExtensionElements(element, businessObject, mapping, bpmnFactory, commandStack);\n }\n\n function removeInMapping() {\n const businessObject = getSignalEventDefinition(element) || getBusinessObject(element);\n const mappings = findRelevantInMappings(element);\n\n removeExtensionElements(element, businessObject, mappings, commandStack);\n }\n\n return CheckboxEntry({\n id: 'inMapping-propagation',\n label: translate('Propagate all variables'),\n getValue,\n setValue\n });\n}\n\nfunction Local(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const mapping = findRelevantInMappings(element)[0];\n\n const getValue = () => {\n return mapping.get('camunda:local');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: mapping,\n properties: {\n local: value\n }\n });\n };\n\n return CheckboxEntry({\n element,\n id: 'inMapping-propagation-local',\n label: translate('Local'),\n getValue,\n setValue\n });\n}\n\n\n// helper //////////////////////////\n\nfunction areInMappingsSupported(element) {\n const signalEventDefinition = getSignalEventDefinition(element);\n\n if (signalEventDefinition) {\n return isAny(element, [\n 'bpmn:IntermediateThrowEvent',\n 'bpmn:EndEvent'\n ]);\n }\n\n return is(element, 'bpmn:CallActivity');\n}\n\nfunction getInMappings(element) {\n const businessObject = getBusinessObject(element);\n const signalEventDefinition = getSignalEventDefinition(businessObject);\n return getExtensionElementsList(signalEventDefinition || businessObject, 'camunda:In');\n}\n\nfunction findRelevantInMappings(element) {\n const inMappings = getInMappings(element);\n return filter(inMappings, function(mapping) {\n const variables = mapping.get('variables');\n return variables && variables === 'all';\n });\n}\n\nfunction isPropagateAll(element) {\n const mappings = findRelevantInMappings(element);\n return !!mappings.length;\n}\n","import { CheckboxEntry, SelectEntry, TextFieldEntry } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\nconst DEFAULT_PROPS = {\n 'source': undefined,\n 'sourceExpression': undefined\n};\n\n\nexport default function InOutMapping(props) {\n const {\n idPrefix,\n mapping\n } = props;\n\n const type = getInOutType(mapping);\n const entries = [];\n\n // (1) Type\n entries.push({\n id: idPrefix + '-type',\n component: Type,\n idPrefix,\n mapping\n });\n\n // (2) Source\n if (type === 'source') {\n entries.push({\n id: idPrefix + '-source',\n component: Source,\n idPrefix,\n mapping\n });\n }\n\n // (3) Source expression\n if (type === 'sourceExpression') {\n entries.push({\n id: idPrefix + '-sourceExpression',\n component: SourceExpression,\n idPrefix,\n mapping\n });\n }\n\n // (4) Target\n entries.push({\n id: idPrefix + '-target',\n component: Target,\n idPrefix,\n mapping\n });\n\n // (5) Local\n entries.push({\n id: idPrefix + '-local',\n component: Local,\n idPrefix,\n mapping\n });\n\n return entries;\n}\n\nfunction Type(props) {\n const {\n idPrefix,\n element,\n mapping\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const getValue = (mapping) => {\n return getInOutType(mapping);\n };\n\n const setValue = (value) => {\n const properties = {\n ...DEFAULT_PROPS,\n [ value ]: ''\n };\n\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: mapping,\n properties\n });\n };\n\n const getOptions = () => {\n\n const options = [\n {\n label: translate('Source'),\n value: 'source'\n },\n {\n label: translate('Source expression'),\n value: 'sourceExpression'\n }\n ];\n\n return options;\n };\n\n return SelectEntry({\n element: mapping,\n id: idPrefix + '-type',\n label: translate('Type'),\n getValue,\n setValue,\n getOptions\n });\n}\n\nfunction Source(props) {\n const {\n idPrefix,\n element,\n mapping\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: mapping,\n properties: {\n source: value\n }\n });\n };\n\n const getValue = (mapping) => {\n return mapping.get('camunda:source');\n };\n\n return TextFieldEntry({\n element: mapping,\n id: idPrefix + '-source',\n label: translate('Source'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction SourceExpression(props) {\n const {\n idPrefix,\n element,\n mapping\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: mapping,\n properties: {\n sourceExpression: value\n }\n });\n };\n\n const getValue = (mapping) => {\n return mapping.get('camunda:sourceExpression');\n };\n\n return TextFieldEntry({\n element: mapping,\n id: idPrefix + '-sourceExpression',\n label: translate('Source expression'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction Target(props) {\n const {\n idPrefix,\n element,\n mapping\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: mapping,\n properties: {\n target: value\n }\n });\n };\n\n const getValue = (mapping) => {\n return mapping.get('camunda:target');\n };\n\n return TextFieldEntry({\n element: mapping,\n id: idPrefix + '-target',\n label: translate('Target'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction Local(props) {\n const {\n idPrefix,\n element,\n mapping\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const getValue = () => {\n return mapping.get('camunda:local');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: mapping,\n properties: {\n local: value\n }\n });\n };\n\n return CheckboxEntry({\n element,\n id: idPrefix + '-local',\n label: translate('Local'),\n getValue,\n setValue\n });\n}\n\n\n// helper ///////////////////\n\nfunction getInOutType(mapping) {\n let inOutType = '';\n\n if (typeof mapping.source !== 'undefined') {\n inOutType = 'source';\n }\n else if (typeof mapping.sourceExpression !== 'undefined') {\n inOutType = 'sourceExpression';\n }\n\n return inOutType;\n}\n","import {\n filter\n} from 'min-dash';\n\nimport {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n isAny\n} from 'bpmn-js/lib/features/modeling/util/ModelingUtil';\n\nimport {\n getSignalEventDefinition\n} from '../../bpmn/utils/EventDefinitionUtil';\n\nimport {\n addExtensionElements,\n getExtensionElementsList,\n removeExtensionElements\n} from '../../../utils/ExtensionElementsUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport InOutMapping from './InOutMapping';\n\n/**\n * Cf. https://docs.camunda.org/manual/latest/reference/bpmn20/custom-extensions/extension-elements/#in\n */\nexport function InMappingProps({ element, injector }) {\n if (!areInMappingsSupported(element)) {\n return null;\n }\n\n const variableMappings = getInMappings(element) || [];\n\n const bpmnFactory = injector.get('bpmnFactory'),\n commandStack = injector.get('commandStack');\n\n const items = variableMappings.map((mapping, index) => {\n const id = element.id + '-inMapping-' + index;\n\n return {\n id,\n label: mapping.get('target') || '',\n entries: InOutMapping({\n idPrefix: id,\n element,\n mapping\n }),\n autoFocusEntry: id + '-target',\n remove: removeFactory({ commandStack, element, mapping })\n };\n });\n\n return {\n items,\n add: addFactory({ bpmnFactory, commandStack, element })\n };\n}\n\nfunction removeFactory({ commandStack, element, mapping }) {\n return function(event) {\n event.stopPropagation();\n\n const businessObject = getSignalEventDefinition(element) || getBusinessObject(element);\n\n removeExtensionElements(element, businessObject, mapping, commandStack);\n };\n}\n\nfunction addFactory({ bpmnFactory, commandStack, element }) {\n return function(event) {\n event.stopPropagation();\n\n const businessObject = getSignalEventDefinition(element) || getBusinessObject(element);\n\n const newMapping = createElement('camunda:In', {\n source: '', // source is the default type\n }, null, bpmnFactory);\n\n addExtensionElements(element, businessObject, newMapping, bpmnFactory, commandStack);\n };\n}\n\n// helper ///////////////\n\nfunction getInMappings(element) {\n const businessObject = getBusinessObject(element);\n const signalEventDefinition = getSignalEventDefinition(businessObject);\n const mappings = getExtensionElementsList(signalEventDefinition || businessObject, 'camunda:In');\n\n // only retrieve relevant mappings here, others are handled in other groups\n // mapping.businessKey => camunda-platform/CallAvtivityProps\n // mapping.variables => camunda-platform/InMappingPropagationProps\n return filter(mappings, function(mapping) {\n return !mapping.businessKey && !(mapping.variables && mapping.variables === 'all');\n });\n}\n\nfunction areInMappingsSupported(element) {\n const signalEventDefinition = getSignalEventDefinition(element);\n\n if (signalEventDefinition) {\n return isAny(element, [\n 'bpmn:IntermediateThrowEvent',\n 'bpmn:EndEvent'\n ]);\n }\n\n return is(element, 'bpmn:CallActivity');\n}\n","import InputOutputParameter from './InputOutputParameter';\n\nimport {\n AddParameterCmd,\n areInputParametersSupported,\n getInputParameters,\n getInputOutput\n} from '../utils/InputOutputUtil';\n\nimport { without } from 'min-dash';\n\n\nexport function InputProps(props) {\n const {\n element,\n injector\n } = props;\n\n if (!areInputParametersSupported(element)) {\n return null;\n }\n\n const inputParameters = getInputParameters(element) || [];\n\n const bpmnFactory = injector.get('bpmnFactory'),\n commandStack = injector.get('commandStack');\n\n const items = inputParameters.map((parameter, index) => {\n const id = element.id + '-inputParameter-' + index;\n\n return {\n id,\n label: parameter.get('name') || '',\n entries: InputOutputParameter({\n idPrefix: id,\n element,\n parameter\n }),\n autoFocusEntry: id + '-name',\n remove: removeFactory({ element, commandStack, parameter })\n };\n });\n\n function add(event) {\n event.stopPropagation();\n\n commandStack.execute(\n 'properties-panel.multi-command-executor',\n AddParameterCmd(element, 'camunda:InputParameter', bpmnFactory)\n );\n }\n\n return {\n items,\n add,\n shouldSort: false\n };\n}\n\nfunction removeFactory(props) {\n const {\n commandStack,\n element,\n parameter\n } = props;\n\n return function(event) {\n event.stopPropagation();\n\n const inputOutput = getInputOutput(element);\n\n if (!inputOutput) {\n return;\n }\n\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: inputOutput,\n properties: {\n inputParameters: without(inputOutput.get('inputParameters'), parameter)\n }\n });\n };\n}\n","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { TextFieldEntry, isTextFieldEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n getTimerEventDefinition\n} from '../../bpmn/utils/EventDefinitionUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport {\n getExtensionElementsList\n} from '../../../utils/ExtensionElementsUtil';\n\n\nexport function JobExecutionProps(props) {\n const {\n element\n } = props;\n\n const businessObject = getBusinessObject(element);\n\n const entries = [];\n\n // (1) add retryTimeCycle field for camunda:asyncCapable enabled Elements\n // or TimerEvents\n if ((is(element, 'camunda:AsyncCapable') && isAsync(businessObject)) ||\n isTimerEvent(element)) {\n entries.push({\n id: 'retryTimeCycle',\n component: RetryTimeCycle,\n isEdited: isTextFieldEntryEdited\n });\n }\n\n // (2) add jobPriority field for camunda:jobPriorized with async enabled\n // or Processes\n // or Processes referred to by participants\n // or TimerEvents\n if ((is(element, 'camunda:JobPriorized') && isAsync(businessObject)) ||\n is(element, 'bpmn:Process') ||\n (is(element, 'bpmn:Participant') && businessObject.get('processRef')) ||\n isTimerEvent(element)) {\n entries.push({\n id: 'jobPriority',\n component: JobPriority,\n isEdited: isTextFieldEntryEdited\n });\n }\n\n return entries;\n}\n\nfunction JobPriority(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack'),\n translate = useService('translate'),\n debounce = useService('debounceInput');\n\n const businessObject = is(element, 'bpmn:Participant') ?\n getBusinessObject(element).get('processRef') :\n getBusinessObject(element);\n\n const getValue = () => {\n return businessObject.get('camunda:jobPriority');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:jobPriority': value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'jobPriority',\n label: translate('Priority'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction RetryTimeCycle(props) {\n const { element } = props;\n\n const bpmnFactory = useService('bpmnFactory'),\n commandStack = useService('commandStack'),\n translate = useService('translate'),\n debounce = useService('debounceInput');\n\n const businessObject = getBusinessObject(element);\n\n const getValue = () => {\n const failedJobRetryTimeCycle = getExtensionElementsList(businessObject, 'camunda:FailedJobRetryTimeCycle')[0];\n return failedJobRetryTimeCycle && failedJobRetryTimeCycle.body;\n };\n\n const setValue = (value) => {\n const commands = [];\n\n let extensionElements = businessObject.get('extensionElements');\n\n // (1) ensure extension elements\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n businessObject,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: businessObject,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) ensure failedJobRetryTimeCycle\n let failedJobRetryTimeCycle = getExtensionElementsList(businessObject, 'camunda:FailedJobRetryTimeCycle')[0];\n\n if (!failedJobRetryTimeCycle) {\n failedJobRetryTimeCycle = createElement(\n 'camunda:FailedJobRetryTimeCycle',\n { },\n extensionElements,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), failedJobRetryTimeCycle ]\n }\n }\n });\n }\n\n // (3) update failedJobRetryTimeCycle value\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: failedJobRetryTimeCycle,\n properties: {\n body: value\n }\n }\n });\n\n // (4) commit all updates\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n return TextFieldEntry({\n element,\n id: 'retryTimeCycle',\n label: translate('Retry time cycle'),\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper //////////////////\n\n/**\n * @param {ModdleElement} bo\n * @return {boolean} a boolean value\n */\nfunction isAsyncBefore(bo) {\n return !!(bo.get('camunda:asyncBefore') || bo.get('camunda:async'));\n}\n\n/**\n * @param {ModdleElement} bo\n * @return {boolean}\n */\nfunction isAsyncAfter(bo) {\n return !!bo.get('camunda:asyncAfter');\n}\n\n/**\n * isAsync - returns true if the attribute 'camunda:asyncAfter' or 'camunda:asyncBefore'\n * is set to true.\n *\n * @param {ModdleElement} bo\n * @return {boolean}\n */\nfunction isAsync(bo) {\n return isAsyncAfter(bo) || isAsyncBefore(bo);\n}\n\n/**\n * isTimerEvent - returns true if the element is a bpmn:Event with a timerEventDefinition\n *\n * @param {ModdleElement} element\n * @return {boolean}\n */\nfunction isTimerEvent(element) {\n return is(element, 'bpmn:Event') &&\n getTimerEventDefinition(element);\n}\n","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n TextFieldEntry,\n isTextFieldEntryEdited,\n CheckboxEntry,\n isCheckboxEntryEdited\n} from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n getExtensionElementsList\n} from '../../../utils/ExtensionElementsUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\n\n/**\n * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry\n */\n\n/**\n * @returns {Array} entries\n */\nexport function MultiInstanceProps(props) {\n const {\n element\n } = props;\n\n const loopCharacteristics = getLoopCharacteristics(element);\n\n let entries = props.entries || [];\n\n if (!isMultiInstanceSupported(element)) {\n return entries;\n }\n\n entries.push(\n {\n id: 'collection',\n component: Collection,\n isEdited: isTextFieldEntryEdited\n },\n {\n id: 'elementVariable',\n component: ElementVariable,\n isEdited: isTextFieldEntryEdited\n },\n {\n id: 'multiInstanceAsynchronousBefore',\n component: MultiInstanceAsynchronousBefore,\n isEdited: isCheckboxEntryEdited\n },\n {\n id: 'multiInstanceAsynchronousAfter',\n component: MultiInstanceAsynchronousAfter,\n isEdited: isCheckboxEntryEdited\n });\n\n if (isAsync(loopCharacteristics)) {\n entries.push(\n {\n id: 'multiInstanceExclusive',\n component: MultiInstanceExclusive,\n isEdited: checkboxIsEditedInverted\n },\n {\n id: 'multiInstanceRetryTimeCycle',\n component: MultiInstanceRetryTimeCycle,\n isEdited: isTextFieldEntryEdited\n }\n );\n }\n\n return entries;\n}\n\nfunction Collection(props) {\n const { element } = props;\n\n const debounce = useService('debounceInput');\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const loopCharacteristics = getLoopCharacteristics(element);\n\n const getValue = () => {\n return getCollection(element);\n };\n\n const setValue = (value) => {\n return commandStack.execute(\n 'element.updateModdleProperties',\n {\n element,\n moddleElement: loopCharacteristics,\n properties: {\n 'camunda:collection': value\n }\n }\n );\n };\n\n return TextFieldEntry({\n element,\n id: 'collection',\n label: translate('Collection'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction ElementVariable(props) {\n const { element } = props;\n\n const debounce = useService('debounceInput');\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const loopCharacteristics = getLoopCharacteristics(element);\n\n const getValue = () => {\n return getElementVariable(element);\n };\n\n const setValue = (value) => {\n return commandStack.execute(\n 'element.updateModdleProperties',\n {\n element,\n moddleElement: loopCharacteristics,\n properties: {\n 'camunda:elementVariable': value\n }\n }\n );\n };\n\n return TextFieldEntry({\n element,\n id: 'elementVariable',\n label: translate('Element variable'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction MultiInstanceAsynchronousBefore(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const loopCharacteristics = getLoopCharacteristics(element);\n\n const getValue = () => {\n return isAsyncBefore(loopCharacteristics);\n };\n\n const setValue = (value) => {\n\n // overwrite the legacy `async` property, we will use the more explicit `asyncBefore`\n const properties = {\n 'camunda:asyncBefore': value,\n 'camunda:async': undefined\n };\n\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: loopCharacteristics,\n properties\n });\n };\n\n return CheckboxEntry({\n element,\n id: 'multiInstanceAsynchronousBefore',\n label: translate('Asynchronous before'),\n getValue,\n setValue\n });\n}\n\nfunction MultiInstanceAsynchronousAfter(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const loopCharacteristics = getLoopCharacteristics(element);\n\n const getValue = () => {\n return isAsyncAfter(loopCharacteristics);\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: loopCharacteristics,\n properties: {\n 'camunda:asyncAfter': value,\n }\n });\n };\n\n return CheckboxEntry({\n element,\n id: 'multiInstanceAsynchronousAfter',\n label: translate('Asynchronous after'),\n getValue,\n setValue\n });\n}\n\nfunction MultiInstanceExclusive(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack'),\n translate = useService('translate');\n\n const loopCharacteristics = getLoopCharacteristics(element);\n\n const getValue = () => {\n return isExclusive(loopCharacteristics);\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: loopCharacteristics,\n properties: {\n 'camunda:exclusive': value\n }\n });\n };\n\n return CheckboxEntry({\n element,\n id: 'multiInstanceExclusive',\n label: translate('Exclusive'),\n getValue,\n setValue\n });\n}\n\nfunction MultiInstanceRetryTimeCycle(props) {\n const { element } = props;\n\n const bpmnFactory = useService('bpmnFactory'),\n commandStack = useService('commandStack'),\n translate = useService('translate'),\n debounce = useService('debounceInput');\n\n const loopCharacteristics = getLoopCharacteristics(element);\n\n const getValue = () => {\n const failedJobRetryTimeCycle = getExtensionElementsList(loopCharacteristics,\n 'camunda:FailedJobRetryTimeCycle')[0];\n return failedJobRetryTimeCycle && failedJobRetryTimeCycle.body;\n };\n\n const setValue = (value) => {\n const commands = [];\n\n let extensionElements = loopCharacteristics.get('extensionElements');\n\n // (1) ensure extension elements\n if (!extensionElements) {\n extensionElements = createElement(\n 'bpmn:ExtensionElements',\n { values: [] },\n loopCharacteristics,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: loopCharacteristics,\n properties: { extensionElements }\n }\n });\n }\n\n // (2) ensure failedJobRetryTimeCycle\n let failedJobRetryTimeCycle = getExtensionElementsList(loopCharacteristics,\n 'camunda:FailedJobRetryTimeCycle')[0];\n\n if (!failedJobRetryTimeCycle) {\n failedJobRetryTimeCycle = createElement(\n 'camunda:FailedJobRetryTimeCycle',\n { },\n extensionElements,\n bpmnFactory\n );\n\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element: loopCharacteristics,\n moddleElement: extensionElements,\n properties: {\n values: [ ...extensionElements.get('values'), failedJobRetryTimeCycle ]\n }\n }\n });\n }\n\n // (3) update failedJobRetryTimeCycle value\n commands.push({\n cmd: 'element.updateModdleProperties',\n context: {\n element,\n moddleElement: failedJobRetryTimeCycle,\n properties: { body: value }\n }\n });\n\n // (4) commit all updates\n commandStack.execute('properties-panel.multi-command-executor', commands);\n };\n\n return TextFieldEntry({\n element,\n id: 'multiInstanceRetryTimeCycle',\n label: translate('Retry time cycle'),\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper ////////////////////////////\n\n// generic ///////////////////////////\n\n/**\n * isMultiInstanceSupported - check whether given element supports camunda specific props\n * for multiInstance (ref. ).\n *\n * @param {djs.model.Base} element\n * @return {boolean}\n */\nfunction isMultiInstanceSupported(element) {\n const loopCharacteristics = getLoopCharacteristics(element);\n return !!loopCharacteristics && is(loopCharacteristics, 'camunda:Collectable');\n}\n\n/**\n * getProperty - get a property value of the loop characteristics.\n *\n * @param {djs.model.Base} element\n * @param {string} propertyName\n *\n * @return {any} the property value\n */\nfunction getProperty(element, propertyName) {\n var loopCharacteristics = getLoopCharacteristics(element);\n return loopCharacteristics && loopCharacteristics.get(propertyName);\n}\n\n/**\n * getLoopCharacteristics - get loopCharacteristics of a given element.\n *\n * @param {djs.model.Base} element\n * @return {ModdleElement | undefined}\n */\nfunction getLoopCharacteristics(element) {\n const bo = getBusinessObject(element);\n return bo.loopCharacteristics;\n}\n\n// collection\n\n/**\n * getCollection - get the 'camunda:collection' attribute value of the loop characteristics.\n *\n * @param {djs.model.Base} element\n *\n * @return {string} the 'camunda:collection' value\n */\nfunction getCollection(element) {\n return getProperty(element, 'camunda:collection');\n}\n\n// elementVariable\n\n/**\n * getElementVariable - get the 'camunda:elementVariable' attribute value of the loop characteristics.\n *\n * @param {djs.model.Base} element\n *\n * @return {string} the 'camunda:elementVariable' value\n */\nfunction getElementVariable(element) {\n return getProperty(element, 'camunda:elementVariable');\n}\n\n// asyncBefore asyncAfter\n\n/**\n * Returns true if the attribute 'camunda:asyncBefore' is set\n * to true.\n *\n * @param {ModdleElement} bo\n *\n * @return {boolean} a boolean value\n */\nfunction isAsyncBefore(bo) {\n return !!(bo.get('camunda:asyncBefore') || bo.get('camunda:async'));\n}\n\n/**\n * Returns true if the attribute 'camunda:asyncAfter' is set\n * to true.\n *\n * @param {ModdleElement} bo\n *\n * @return {boolean} a boolean value\n */\nfunction isAsyncAfter(bo) {\n return !!bo.get('camunda:asyncAfter');\n}\n\n/**\n * Returns true if the attribute 'camunda:exclusive' is set\n * to true.\n *\n * @param {ModdleElement} bo\n *\n * @return {boolean} a boolean value\n */\nfunction isExclusive(bo) {\n return !!bo.get('camunda:exclusive');\n}\n\n/**\n * isAsync - returns true if the attribute 'camunda:asyncAfter' or 'camunda:asyncBefore'\n * is set to true.\n *\n * @param {ModdleElement} bo\n * @return {boolean}\n */\nfunction isAsync(bo) {\n return isAsyncAfter(bo) || isAsyncBefore(bo);\n}\n\n// Checkbox\n\nfunction checkboxIsEditedInverted(node) {\n return node && !node.checked;\n}\n","import { CheckboxEntry, isCheckboxEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n filter\n} from 'min-dash';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n addExtensionElements,\n getExtensionElementsList,\n removeExtensionElements\n} from '../../../utils/ExtensionElementsUtil';\n\n\n/**\n * Cf. https://docs.camunda.org/manual/7.15/reference/bpmn20/subprocesses/call-activity/#passing-variables\n */\nexport function OutMappingPropagationProps(props) {\n const {\n element\n } = props;\n\n if (!areOutMappingsSupported(element)) {\n return [];\n }\n\n const entries = [\n {\n id: 'outMapping-propagation',\n component: PropagateAll,\n isEdited: isCheckboxEntryEdited\n }\n ];\n\n if (isPropagateAll(element)) {\n entries.push({\n id: 'outMapping-propagation-local',\n component: Local,\n isEdited: isCheckboxEntryEdited\n });\n }\n\n return entries;\n}\n\nfunction PropagateAll(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack');\n const bpmnFactory = useService('bpmnFactory');\n const translate = useService('translate');\n\n const getValue = () => {\n return isPropagateAll(element);\n };\n\n const setValue = value => {\n if (value) {\n addOutMapping();\n } else {\n removeOutMapping();\n }\n };\n\n function addOutMapping() {\n const businessObject = getBusinessObject(element);\n\n const mapping = createElement(\n 'camunda:Out',\n {\n variables: 'all'\n },\n null,\n bpmnFactory\n );\n\n addExtensionElements(element, businessObject, mapping, bpmnFactory, commandStack);\n }\n\n function removeOutMapping() {\n const businessObject = getBusinessObject(element);\n const mappings = findRelevantOutMappings(element);\n\n removeExtensionElements(element, businessObject, mappings, commandStack);\n }\n\n return CheckboxEntry({\n id: 'outMapping-propagation',\n label: translate('Propagate all variables'),\n getValue,\n setValue\n });\n}\n\nfunction Local(props) {\n const {\n element\n } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const mapping = findRelevantOutMappings(element)[0];\n\n const getValue = () => {\n return mapping.get('camunda:local');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: mapping,\n properties: {\n local: value\n }\n });\n };\n\n return CheckboxEntry({\n element,\n id: 'outMapping-propagation-local',\n label: translate('Local'),\n getValue,\n setValue\n });\n}\n\n\n// helper //////////////////////////\n\nfunction areOutMappingsSupported(element) {\n return is(element, 'bpmn:CallActivity');\n}\n\nfunction getOutMappings(element) {\n const businessObject = getBusinessObject(element);\n return getExtensionElementsList(businessObject, 'camunda:Out');\n}\n\nfunction findRelevantOutMappings(element) {\n const inMappings = getOutMappings(element);\n return filter(inMappings, function(mapping) {\n const variables = mapping.get('variables');\n return variables && variables === 'all';\n });\n}\n\nfunction isPropagateAll(element) {\n const mappings = findRelevantOutMappings(element);\n return !!mappings.length;\n}\n","import {\n filter\n} from 'min-dash';\n\nimport {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n addExtensionElements,\n getExtensionElementsList, removeExtensionElements\n} from '../../../utils/ExtensionElementsUtil';\n\nimport {\n createElement\n} from '../../../utils/ElementUtil';\n\nimport InOutMapping from './InOutMapping';\n\n/**\n * Cf. https://docs.camunda.org/manual/latest/reference/bpmn20/custom-extensions/extension-elements/#out\n */\nexport function OutMappingProps({ element, injector }) {\n\n if (!areOutMappingsSupported(element)) {\n return null;\n }\n\n const variableMappings = getOutMappings(element) || [];\n\n const bpmnFactory = injector.get('bpmnFactory'),\n commandStack = injector.get('commandStack');\n\n const items = variableMappings.map((mapping, index) => {\n const id = element.id + '-outMapping-' + index;\n\n return {\n id,\n label: mapping.get('target') || '',\n entries: InOutMapping({\n idPrefix: id,\n element,\n mapping\n }),\n autoFocusEntry: id + '-target',\n remove: removeFactory({ commandStack, element, mapping })\n };\n });\n\n return {\n items,\n add: addFactory({ bpmnFactory, commandStack, element })\n };\n}\n\nfunction removeFactory({ commandStack, element, mapping }) {\n return function(event) {\n event.stopPropagation();\n\n const businessObject = getBusinessObject(element);\n\n removeExtensionElements(element, businessObject, mapping, commandStack);\n };\n}\n\nfunction addFactory({ bpmnFactory, commandStack, element }) {\n return function(event) {\n event.stopPropagation();\n\n const businessObject = getBusinessObject(element);\n\n const newMapping = createElement('camunda:Out', {\n source: '', // source is the default type\n }, null, bpmnFactory);\n\n addExtensionElements(element, businessObject, newMapping, bpmnFactory, commandStack);\n };\n}\n\n// helper ///////////////\n\nfunction getOutMappings(element) {\n const businessObject = getBusinessObject(element);\n const mappings = getExtensionElementsList(businessObject, 'camunda:Out');\n\n // only retrieve relevant mappings here, others are handled in other groups\n // mapping.businessKey => camunda-platform/CallAvtivityProps\n // mapping.variables => camunda-platform/OutMappingPropagationProps\n return filter(mappings, function(mapping) {\n return !mapping.businessKey && !(mapping.variables && mapping.variables === 'all');\n });\n}\n\nfunction areOutMappingsSupported(element) {\n return is(element, 'bpmn:CallActivity');\n}\n","import InputOutputParameter from './InputOutputParameter';\n\nimport {\n AddParameterCmd,\n areOutputParametersSupported,\n getOutputParameters,\n getInputOutput\n} from '../utils/InputOutputUtil';\n\nimport { without } from 'min-dash';\n\n\nexport function OutputProps({ element, injector }) {\n\n if (!areOutputParametersSupported(element)) {\n return null;\n }\n\n const outputParameters = getOutputParameters(element) || [];\n\n const bpmnFactory = injector.get('bpmnFactory'),\n commandStack = injector.get('commandStack');\n\n const items = outputParameters.map((parameter, index) => {\n const id = element.id + '-outputParameter-' + index;\n\n return {\n id,\n label: parameter.get('name') || '',\n entries: InputOutputParameter({\n idPrefix: id,\n element,\n parameter\n }),\n autoFocusEntry: id + '-name',\n remove: removeFactory({ commandStack, element, parameter })\n };\n });\n\n return {\n items,\n add: addFactory({ bpmnFactory, commandStack, element }),\n shouldSort: false\n };\n}\n\nfunction removeFactory({ commandStack, element, parameter }) {\n return function(event) {\n event.stopPropagation();\n\n const inputOutput = getInputOutput(element);\n\n if (!inputOutput) {\n return;\n }\n\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: inputOutput,\n properties: {\n outputParameters: without(inputOutput.get('outputParameters'), parameter)\n }\n });\n };\n}\n\nfunction addFactory({ bpmnFactory, commandStack, element }) {\n return function(event) {\n event.stopPropagation();\n\n commandStack.execute(\n 'properties-panel.multi-command-executor',\n AddParameterCmd(element, 'camunda:OutputParameter', bpmnFactory)\n );\n };\n}\n","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n isTimerSupported,\n getTimerEventDefinition,\n getTimerDefinitionType\n} from '../../../utils/EventDefinitionUtil';\n\nimport {\n SelectEntry,\n isSelectEntryEdited,\n TextFieldEntry,\n isTextFieldEntryEdited\n} from '@bpmn-io/properties-panel';\n\n\n/**\n * @typedef { import('@bpmn-io/properties-panel').EntryDefinition } Entry\n */\n\n/**\n * @returns {Array} entries\n */\nexport function TimerProps(props) {\n const {\n element,\n listener,\n idPrefix\n } = props;\n\n let {\n timerEventDefinition\n } = props;\n\n if (!timerEventDefinition) {\n const businessObject = getBusinessObject(element);\n timerEventDefinition = getTimerEventDefinition(businessObject);\n }\n\n const timerEventDefinitionType = getTimerDefinitionType(timerEventDefinition);\n\n // (1) Only show for supported elements\n if (!isTimerSupported(element) && !isTimerSupportedOnListener(listener)) {\n return [];\n }\n\n // (2) Provide entries, have a value only if selection was made\n const entries = [];\n\n entries.push({\n id: getId(idPrefix, 'timerEventDefinitionType'),\n component: TimerEventDefinitionType,\n isEdited: isSelectEntryEdited,\n timerEventDefinition,\n timerEventDefinitionType\n });\n\n if (timerEventDefinitionType) {\n entries.push({\n id: getId(idPrefix, 'timerEventDefinitionValue'),\n component: TimerEventDefinitionValue,\n isEdited: isTextFieldEntryEdited,\n timerEventDefinition,\n timerEventDefinitionType\n });\n }\n\n return entries;\n}\n\n\n/**\n * TimerEventDefinitionType - Generic select entry allowing to select a specific\n * timerEventDefintionType. To be used together with timerEventDefinitionValue.\n *\n * @param {type} props\n * @return {SelectEntry}\n */\nfunction TimerEventDefinitionType(props) {\n const {\n element,\n timerEventDefinition,\n timerEventDefinitionType\n } = props;\n\n const commandStack = useService('commandStack'),\n bpmnFactory = useService('bpmnFactory'),\n translate = useService('translate');\n\n const getValue = () => {\n return timerEventDefinitionType || '';\n };\n\n const setValue = (value) => {\n\n // (1) Check if value is different to current type\n if (value === timerEventDefinitionType) {\n return;\n }\n\n // (2) Create empty formalExpression element\n const formalExpression = bpmnFactory.create('bpmn:FormalExpression', { body: undefined });\n formalExpression.$parent = timerEventDefinition;\n\n // (3) Set the value for selected timerEventDefinitionType\n const newProps = {\n timeDuration: undefined,\n timeDate: undefined,\n timeCycle: undefined\n };\n\n if (value !== '') {\n newProps[value] = formalExpression;\n }\n\n // (4) Execute businessObject update\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: timerEventDefinition,\n properties: newProps\n });\n };\n\n const getOptions = (element) => {\n return [\n { value: '', label: translate('') },\n { value: 'timeDate', label: translate('Date') },\n { value: 'timeDuration', label: translate('Duration') },\n { value: 'timeCycle', label: translate('Cycle') }\n ];\n };\n\n return SelectEntry({\n element,\n id: 'timerEventDefinitionType',\n label: translate('Type'),\n getValue,\n setValue,\n getOptions\n });\n}\n\n/**\n * TimerEventDefinitionValue - Generic textField entry allowing to specify the\n * timerEventDefintionValue based on the set timerEventDefintionType. To be used\n * together with timerEventDefinitionType.\n *\n * @param {type} props\n * @return {TextFieldEntry}\n */\nfunction TimerEventDefinitionValue(props) {\n const {\n element,\n timerEventDefinition,\n timerEventDefinitionType\n } = props;\n\n const commandStack = useService('commandStack'),\n translate = useService('translate'),\n debounce = useService('debounceInput');\n\n const timerEventFormalExpression = timerEventDefinition.get(timerEventDefinitionType);\n\n const getValue = () => {\n return timerEventFormalExpression && timerEventFormalExpression.get('body');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: timerEventFormalExpression,\n properties: {\n body: value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'timerEventDefinitionValue',\n label: translate('Value'),\n getValue,\n setValue,\n debounce,\n tooltip: getTimerEventDefinitionValueDescription(timerEventDefinitionType, translate)\n });\n}\n\n\n// helper //////////////////////////\n\nfunction getTimerEventDefinitionValueDescription(timerDefinitionType, translate) {\n switch (timerDefinitionType) {\n case 'timeDate':\n return (
\n

{ translate('A specific point in time defined as ISO 8601 combined date and time representation.') }

\n
    \n
  • 2019-10-01T12:00:00Z - { translate('UTC time') }
  • \n
  • 2019-10-02T08:09:40+02:00 - { translate('UTC plus 2 hours zone offset') }
  • \n
\n { translate('Documentation: Timer events') }\n
);\n\n case 'timeCycle':\n return (
\n

{ translate('A cycle defined as ISO 8601 repeating intervals format, or a cron expression.') }

\n
    \n
  • R5/PT10S - { translate('every 10 seconds, up to 5 times') }
  • \n
  • R/P1D - { translate('every day, infinitely') }
  • \n
  • 0 0 9-17 * * MON-FRI - { translate('every hour on the hour from 9-5 p.m. UTC Monday-Friday') }
  • \n
\n { translate('Documentation: Timer events') }\n
);\n\n case 'timeDuration':\n return (
\n

{ translate('A time duration defined as ISO 8601 durations format.') }

\n
    \n
  • PT15S - { translate('15 seconds') }
  • \n
  • PT1H30M - { translate('1 hour and 30 minutes') }
  • \n
  • P14D - { translate('14 days') }
  • \n
\n { translate('Documentation: Timer events') }\n
);\n }\n}\n\nfunction isTimerSupportedOnListener(listener) {\n return listener && is(listener, 'camunda:TaskListener') && getTimerEventDefinition(listener);\n}\n\nfunction getId(idPrefix, id) {\n return idPrefix ? idPrefix + id : id;\n}","import {\n CollapsibleEntry,\n ListEntry,\n SelectEntry,\n TextFieldEntry,\n isTextFieldEntryEdited\n} from '@bpmn-io/properties-panel';\n\n\nimport { isAny } from 'bpmn-js/lib/features/modeling/util/ModelingUtil';\nimport {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport FieldInjection from './FieldInjection';\n\nimport {\n addExtensionElements,\n getExtensionElementsList,\n removeExtensionElements\n} from '../../../utils/ExtensionElementsUtil';\n\nimport { getImplementationType } from '../utils/ImplementationTypeUtils';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport { createElement } from '../../../utils/ElementUtil';\nimport {\n DelegateExpression,\n Expression,\n JavaClass\n} from './ImplementationProps';\n\nimport { ScriptProps } from './ScriptProps';\nimport { TimerProps } from './TimerProps';\nimport { getTimerEventDefinition } from '../../bpmn/utils/EventDefinitionUtil';\n\nimport { without } from 'min-dash';\n\n\nconst LISTENER_ALLOWED_TYPES = [\n 'bpmn:Activity',\n 'bpmn:Event',\n 'bpmn:Gateway',\n 'bpmn:SequenceFlow',\n 'bpmn:Process',\n 'bpmn:Participant'\n];\n\nconst SCRIPT_PROPS = {\n 'script': undefined,\n 'resource': undefined,\n 'scriptFormat': undefined\n};\n\nconst CLASS_PROPS = {\n 'class': undefined\n};\n\nconst EXPRESSION_PROPS = {\n 'expression': undefined\n};\n\nconst DELEGATE_EXPRESSION_PROPS = {\n 'delegateExpression': undefined\n};\n\nconst DEFAULT_PROPS = {\n ...SCRIPT_PROPS,\n ...CLASS_PROPS,\n ...EXPRESSION_PROPS,\n ...DELEGATE_EXPRESSION_PROPS\n};\n\nconst DEFAULT_EVENT_PROPS = {\n 'eventDefinitions' : undefined,\n 'event': undefined\n};\n\nconst IMPLEMENTATION_TYPE_TO_LABEL = {\n class: 'Java class',\n expression: 'Expression',\n delegateExpression: 'Delegate expression',\n script: 'Script'\n};\n\nconst EVENT_TO_LABEL = {\n start: 'Start',\n end: 'End',\n take: 'Take',\n create:'Create',\n assignment: 'Assignment',\n complete: 'Complete',\n delete: 'Delete',\n update: 'Update',\n timeout: 'Timeout'\n};\n\n/**\n * Cf. https://docs.camunda.org/manual/latest/user-guide/process-engine/delegation-code/#execution-listener\n */\nexport function ExecutionListenerProps({ element, injector }) {\n\n if (!isAny(element, LISTENER_ALLOWED_TYPES)) {\n return;\n }\n\n const bpmnFactory = injector.get('bpmnFactory'),\n commandStack = injector.get('commandStack');\n\n if (is(element, 'bpmn:Participant') && !element.businessObject.processRef) {\n return;\n }\n\n const businessObject = getListenersContainer(element);\n const listeners = getExtensionElementsList(businessObject, 'camunda:ExecutionListener');\n\n return {\n items: listeners.map((listener, index) => {\n const id = `${element.id}-executionListener-${index}`;\n\n // @TODO(barmac): Find a way to pass translate for internationalized label.\n return {\n id,\n label: getListenerLabel(listener),\n entries: ExecutionListener({\n idPrefix: id,\n element,\n listener\n }),\n remove: removeListenerFactory({ element, listener, commandStack })\n };\n }),\n add: addExecutionListenerFactory({ bpmnFactory, commandStack, element })\n };\n}\n\nfunction ExecutionListener(props) {\n const {\n idPrefix,\n element,\n listener\n } = props;\n\n\n return [ {\n id: `${idPrefix}-eventType`,\n component: EventType,\n listener\n },\n {\n id: `${idPrefix}-listenerType`,\n component: ListenerType,\n listener\n },\n ...ImplementationDetails({ idPrefix, element, listener }),\n {\n id: `${idPrefix}-fields`,\n component: Fields,\n listener\n } ];\n}\n\nexport function TaskListenerProps({ element, injector }) {\n\n if (!is(element, 'bpmn:UserTask')) {\n return;\n }\n\n const bpmnFactory = injector.get('bpmnFactory'),\n commandStack = injector.get('commandStack');\n\n const businessObject = getListenersContainer(element);\n const listeners = getExtensionElementsList(businessObject, 'camunda:TaskListener');\n\n return {\n items: listeners.map((listener, index) => {\n const id = `${element.id}-taskListener-${index}`;\n\n // @TODO(barmac): Find a way to pass translate for internationalized label.\n return {\n id,\n label: getListenerLabel(listener),\n entries: TaskListener({\n idPrefix: id,\n element,\n listener\n }),\n\n remove: removeListenerFactory({ element, listener, commandStack })\n };\n }),\n\n add: addTaskListenerFactory({ bpmnFactory, commandStack, element })\n };\n}\n\nfunction TaskListener(props) {\n const {\n idPrefix,\n element,\n listener\n } = props;\n\n\n return [ {\n id: `${idPrefix}-eventType`,\n component: EventType,\n listener\n },\n {\n id: `${idPrefix}-listenerId`,\n component: ListenerId,\n listener\n },\n {\n id: `${idPrefix}-listenerType`,\n component: ListenerType,\n listener\n },\n ...ImplementationDetails({ idPrefix, element, listener }),\n ...EventTypeDetails({ idPrefix, element, listener }),\n {\n id: `${idPrefix}-fields`,\n component: Fields,\n listener\n } ];\n}\n\nfunction removeListenerFactory({ element, listener, commandStack }) {\n return function removeListener(event) {\n event.stopPropagation();\n\n removeExtensionElements(element, getListenersContainer(element), listener, commandStack);\n };\n}\n\nfunction EventType({ id, element, listener }) {\n\n const translate = useService('translate');\n const bpmnFactory = useService('bpmnFactory');\n const commandStack = useService('commandStack');\n\n function getValue() {\n return listener.get('event');\n }\n\n function setValue(value) {\n const properties = getDefaultEventTypeProperties(value, bpmnFactory);\n\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: listener,\n properties\n });\n }\n\n function getOptions() {\n\n if (is(listener, 'camunda:TaskListener')) {\n return [\n { value: 'create', label: translate('create') },\n { value: 'assignment', label: translate('assignment') },\n { value: 'complete', label: translate('complete') },\n { value: 'delete', label: translate('delete') },\n { value: 'update', label: translate('update') },\n { value: 'timeout', label: translate('timeout') }\n ];\n }\n\n if (is(element, 'bpmn:SequenceFlow')) {\n return [ { value: 'take', label: translate('take') } ];\n }\n\n return [\n { value: 'start', label: translate('start') },\n { value: 'end', label: translate('end') }\n ];\n }\n\n return ;\n}\n\nfunction ListenerId({ id, element, listener }) {\n\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n const commandStack = useService('commandStack');\n\n let options = {\n element,\n id: id,\n label: translate('Listener ID'),\n debounce,\n isEdited: isTextFieldEntryEdited,\n setValue: (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: listener,\n properties: {\n 'camunda:id': value\n }\n });\n },\n getValue: () => {\n return listener.get('camunda:id');\n }\n };\n\n return TextFieldEntry(options);\n}\n\nfunction ListenerType({ id, element, listener }) {\n\n const modeling = useService('modeling');\n const translate = useService('translate');\n const bpmnFactory = useService('bpmnFactory');\n\n function getValue() {\n return getListenerType(listener);\n }\n\n function setValue(value) {\n const properties = getDefaultImplementationProperties(value, bpmnFactory);\n\n modeling.updateModdleProperties(\n element,\n listener,\n properties\n );\n }\n\n function getOptions() {\n return getListenerTypeOptions(translate);\n }\n\n return ;\n}\n\nfunction ImplementationDetails(props) {\n const {\n idPrefix,\n element,\n listener\n } = props;\n\n const type = getListenerType(listener);\n\n if (type === 'class') {\n return [ {\n id: getPrefixedId(idPrefix, 'javaClass'),\n component: JavaClass,\n businessObject: listener\n } ];\n } else if (type === 'expression') {\n return [ {\n id: getPrefixedId(idPrefix, 'expression'),\n component: Expression,\n businessObject: listener\n } ];\n } else if (type === 'delegateExpression') {\n return [ {\n id: getPrefixedId(idPrefix, 'delegateExpression'),\n component: DelegateExpression,\n businessObject: listener\n } ];\n } else if (type === 'script') {\n return ScriptProps({ element, script: listener.get('script'), prefix: idPrefix });\n }\n\n // should never happen\n return [];\n}\n\nfunction EventTypeDetails(props) {\n const {\n idPrefix,\n element,\n listener\n } = props;\n\n const type = listener.get('event');\n\n if (type === 'timeout') {\n\n return TimerProps({ element, listener, timerEventDefinition: getTimerEventDefinition(listener), idPrefix: idPrefix });\n }\n return [];\n}\n\nfunction Field(props) {\n const {\n element,\n id: idPrefix,\n index,\n item: field,\n open\n } = props;\n\n const fieldId = `${ idPrefix }-field-${ index }`;\n\n return (\n ' }\n open={ open }\n />\n );\n}\n\nfunction Fields(props) {\n const {\n id,\n element,\n listener\n } = props;\n\n const bpmnFactory = useService('bpmnFactory');\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const fields = listener.get('fields');\n\n function addField() {\n const field = createElement('camunda:Field', {}, listener, bpmnFactory);\n\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: listener,\n properties: {\n fields: [ ...listener.get('fields'), field ]\n }\n });\n }\n\n function removeField(field) {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: listener,\n properties: {\n fields: without(listener.get('fields'), field)\n }\n });\n }\n\n return ;\n}\n\nfunction addListenerFactory({ bpmnFactory, commandStack, element, listenerGroup }) {\n return function(event) {\n event.stopPropagation();\n\n const listener = bpmnFactory.create(listenerGroup, {\n event: getDefaultEvent(element, listenerGroup),\n class: ''\n });\n\n const businessObject = getListenersContainer(element);\n\n addExtensionElements(element, businessObject, listener, bpmnFactory, commandStack);\n };\n}\n\nfunction addTaskListenerFactory(props) {\n return addListenerFactory({ ...props, listenerGroup:'camunda:TaskListener' });\n}\n\nfunction addExecutionListenerFactory(props) {\n return addListenerFactory({ ...props, listenerGroup:'camunda:ExecutionListener' });\n}\n\n// helper\n\n/**\n * Get a readable label for a listener.\n *\n * @param {ModdleElement} listener\n * @param {string => string} [translate]\n */\nfunction getListenerLabel(listener, translate = value => value) {\n const event = listener.get('event');\n const implementationType = getListenerType(listener);\n\n return `${translate(EVENT_TO_LABEL[event])}: ${translate(IMPLEMENTATION_TYPE_TO_LABEL[implementationType])}`;\n}\n\nfunction getListenerTypeOptions(translate) {\n return Object.entries(IMPLEMENTATION_TYPE_TO_LABEL)\n .map(([ value, label ]) => ({\n value,\n label: translate(label)\n }));\n}\n\nfunction getListenerType(listener) {\n return getImplementationType(listener);\n}\n\nfunction getDefaultEvent(element, listenerGroup) {\n if (listenerGroup === 'camunda:TaskListener') return 'create';\n\n return is(element, 'bpmn:SequenceFlow') ? 'take' : 'start';\n}\n\nfunction getDefaultImplementationProperties(type, bpmnFactory) {\n switch (type) {\n case 'class':\n return { ...DEFAULT_PROPS, 'class': '' };\n case 'expression':\n return { ...DEFAULT_PROPS, 'expression': '' };\n case 'delegateExpression':\n return { ...DEFAULT_PROPS, 'delegateExpression': '' };\n case 'script':\n return { ...DEFAULT_PROPS, 'script': bpmnFactory.create('camunda:Script') };\n }\n}\n\nfunction getDefaultEventTypeProperties(type, bpmnFactory) {\n switch (type) {\n case 'timeout':\n return { ...DEFAULT_EVENT_PROPS, eventDefinitions: [ bpmnFactory.create('bpmn:TimerEventDefinition') ], event:type };\n default:\n return { ...DEFAULT_EVENT_PROPS, event: type };\n }\n}\n\nfunction getPrefixedId(prefix, id) {\n return `${prefix}-${id}`;\n}\n\nfunction compareName(field, anotherField) {\n const [ name = '', anotherName = '' ] = [ field.name, anotherField.name ];\n\n return name === anotherName ? 0 : name > anotherName ? 1 : -1;\n}\n\nfunction getListenersContainer(element) {\n const businessObject = getBusinessObject(element);\n\n return businessObject.get('processRef') || businessObject;\n}\n","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n isAny\n} from 'bpmn-js/lib/features/modeling/util/ModelingUtil';\n\nimport {\n getVariablesForScope\n} from '@bpmn-io/extract-process-variables';\n\nimport {\n flatten,\n forEach,\n groupBy,\n keys,\n map,\n sortBy\n} from 'min-dash';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport { ListGroup } from '@bpmn-io/properties-panel';\nimport { useEffect, useState } from 'preact/hooks';\n\n\nfunction ProcessVariablesEntry(props) {\n const {\n element\n } = props;\n\n\n const [ variables, setVariables ] = useState([]);\n\n useEffect(async () => {\n const businessObject = getBusinessObject(element);\n const rootElement = getRootElement(businessObject);\n const scope = getScope(element);\n\n const rawVariables = await getVariablesForScope(scope, rootElement);\n\n const withName = populateElementNames(sortByName(rawVariables));\n\n setVariables(withName);\n }, [ element ]);\n\n\n if (!variables.length) {\n return null;\n }\n\n const byScope = groupByScope(variables);\n const multiScope = isMultiScope(byScope);\n\n let variableItems = [];\n\n // (2) get variables to display\n if (multiScope) {\n\n // (2a) multiple scopes, sub scopes first\n // assumption: variables extractor fetches parent variables first\n const reversed = map(reverse(keys(byScope)), (scopeKey) => byScope[scopeKey]);\n\n variableItems = flatten(reversed);\n } else {\n\n // (2b) single scope\n variableItems = variables;\n }\n\n const items = variableItems.map((variable, index) => {\n const id = element.id + '-variable-' + index;\n\n return {\n id,\n label: variable.name,\n entries: [\n ...ProcessVariableItem({\n idPrefix: id,\n multiScope,\n variable\n })\n ]\n };\n });\n\n return ;\n}\n\nexport function ProcessVariablesProps(props) {\n\n const {\n element\n } = props;\n\n if (!canHaveProcessVariables(element)) {\n return null;\n }\n\n return {\n component: ProcessVariablesEntry,\n shouldSort: false\n };\n}\n\nfunction ProcessVariableItem(props) {\n const {\n idPrefix,\n multiScope,\n variable,\n } = props;\n\n let entries = [];\n\n if (multiScope) {\n entries.push({\n id: idPrefix + '-scope',\n component: Scope,\n idPrefix,\n variable\n });\n }\n\n entries.push({\n id: idPrefix + '-createdIn',\n component: CreatedIn,\n idPrefix,\n variable\n });\n\n return entries;\n}\n\nfunction Scope(props) {\n\n const {\n idPrefix,\n variable\n } = props;\n\n const translate = useService('translate');\n\n const id = idPrefix + '-scope';\n\n return (\n
\n { translate('Scope') }\n \n
\n );\n}\n\n\nfunction CreatedIn(props) {\n\n const {\n idPrefix,\n variable\n } = props;\n\n const translate = useService('translate');\n\n const id = idPrefix + '-createdIn';\n\n const origin = variable.origin.join(', ');\n\n return (\n
\n { translate('Created in') }\n \n
\n );\n}\n\n\n// helper //////////////////////\n\nfunction canHaveProcessVariables(element) {\n const businessObject = getBusinessObject(element);\n\n return (\n isAny(element, [ 'bpmn:Process', 'bpmn:SubProcess' ]) ||\n (is(element, 'bpmn:Participant') && businessObject.get('processRef'))\n );\n}\n\nfunction getRootElement(element) {\n const businessObject = getBusinessObject(element);\n\n if (is(businessObject, 'bpmn:Participant')) {\n return businessObject.processRef;\n }\n\n if (is(businessObject, 'bpmn:Process')) {\n return businessObject;\n }\n\n let parent = businessObject;\n\n while (parent.$parent && !is(parent, 'bpmn:Process')) {\n parent = parent.$parent;\n }\n\n return parent;\n}\n\nfunction getScope(element) {\n const bo = getBusinessObject(element);\n\n if (is(element, 'bpmn:Participant')) {\n return bo.processRef.id;\n }\n\n return bo.id;\n}\n\nfunction sortByName(variables) {\n return sortBy(variables, function(variable) {\n return variable.name;\n });\n}\n\nfunction groupByScope(variables) {\n return groupBy(variables, 'scope');\n}\n\nfunction populateElementNames(variables) {\n forEach(variables, function(variable) {\n const names = map(variable.origin, function(element) {\n return element.name || element.id;\n });\n\n variable.origin = names;\n variable.scope = variable.scope.name || variable.scope.id;\n });\n\n return variables;\n}\n\nfunction isMultiScope(scopedVariables) {\n return keys(scopedVariables).length > 1;\n}\n\nfunction reverse(array) {\n return map(array, function(a, i) {\n return array[array.length - 1 - i];\n });\n}\n\nfunction prefixId(id) {\n return `bio-properties-panel-${ id }`;\n}","import {\n is,\n getBusinessObject\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { TextFieldEntry, isTextFieldEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\nimport {\n ScriptProps\n} from './ScriptProps';\n\n\nexport function ScriptTaskProps(props) {\n const {\n element\n } = props;\n\n if (!is(element, 'bpmn:ScriptTask')) {\n return [];\n }\n\n const entries = [\n ...ScriptProps({ element })\n ];\n\n entries.push({\n id: 'scriptResultVariable',\n component: ResultVariable,\n isEdited: isTextFieldEntryEdited\n });\n\n return entries;\n}\n\nfunction ResultVariable(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const businessObject = getBusinessObject(element);\n\n const getValue = () => {\n return businessObject.get('camunda:resultVariable');\n };\n\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:resultVariable': value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'scriptResultVariable',\n label: translate('Result variable'),\n getValue,\n setValue,\n debounce\n });\n}","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { CheckboxEntry } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\n\nexport function TasklistProps(props) {\n const {\n element\n } = props;\n\n const businessObject = getBusinessObject(element);\n\n const isEdited = (node) => {\n return node && !node.checked;\n };\n\n if (!is(element, 'bpmn:Process') &&\n !(is(element, 'bpmn:Participant') && businessObject.get('processRef'))) {\n return [];\n }\n\n return [\n {\n id: 'isStartableInTasklist',\n component: Startable,\n isEdited\n },\n ];\n}\n\nfunction Startable(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n\n const process = getProcess(element);\n\n const getValue = () => {\n return process.get('camunda:isStartableInTasklist');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: process,\n properties: {\n 'camunda:isStartableInTasklist': value\n }\n });\n };\n\n return CheckboxEntry({\n element,\n id: 'isStartableInTasklist',\n label: translate('Startable'),\n getValue,\n setValue\n });\n}\n\n\n// helper //////////////////\n\nfunction getProcess(element) {\n return is(element, 'bpmn:Process') ?\n getBusinessObject(element) :\n getBusinessObject(element).get('processRef');\n}\n","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { TextFieldEntry, isTextFieldEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\n/**\n * Cf. https://docs.camunda.org/manual/latest/reference/bpmn20/tasks/user-task/\n */\nexport function UserAssignmentProps(props) {\n const {\n element\n } = props;\n\n if (!is(element, 'camunda:Assignable')) {\n return [];\n }\n\n return [\n {\n id: 'assignee',\n component: Assignee,\n isEdited: isTextFieldEntryEdited\n },\n {\n id: 'candidateGroups',\n component: CandidateGroups,\n isEdited: isTextFieldEntryEdited\n },\n {\n id: 'candidateUsers',\n component: CandidateUsers,\n isEdited: isTextFieldEntryEdited\n },\n {\n id: 'dueDate',\n component: DueDate,\n isEdited: isTextFieldEntryEdited\n },\n {\n id: 'followUpDate',\n component: FollowUpDate,\n isEdited: isTextFieldEntryEdited\n },\n {\n id: 'priority',\n component: Priority,\n isEdited: isTextFieldEntryEdited\n }\n ];\n}\n\nfunction Assignee(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const businessObject = getBusinessObject(element);\n\n const getValue = () => {\n return businessObject.get('camunda:assignee');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:assignee': value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'assignee',\n label: translate('Assignee'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction CandidateUsers(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const businessObject = getBusinessObject(element);\n\n const getValue = () => {\n return businessObject.get('camunda:candidateUsers');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:candidateUsers': value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'candidateUsers',\n label: translate('Candidate users'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction CandidateGroups(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const businessObject = getBusinessObject(element);\n\n const getValue = () => {\n return businessObject.get('camunda:candidateGroups');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:candidateGroups': value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'candidateGroups',\n label: translate('Candidate groups'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction DueDate(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const businessObject = getBusinessObject(element);\n\n const getValue = () => {\n return businessObject.get('camunda:dueDate');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:dueDate': value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'dueDate',\n label: translate('Due date'),\n description : translate('The due date as an EL expression (e.g. ${someDate}) or an ISO date (e.g. 2015-06-26T09:54:00).'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction FollowUpDate(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const businessObject = getBusinessObject(element);\n\n const getValue = () => {\n return businessObject.get('camunda:followUpDate');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:followUpDate': value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'followUpDate',\n label: translate('Follow up date'),\n description : translate('The follow up date as an EL expression (e.g. ${someDate}) or an ' +\n 'ISO date (e.g. 2015-06-26T09:54:00).'),\n getValue,\n setValue,\n debounce\n });\n}\n\nfunction Priority(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const businessObject = getBusinessObject(element);\n\n const getValue = () => {\n return businessObject.get('camunda:priority');\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: businessObject,\n properties: {\n 'camunda:priority': value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'priority',\n label: translate('Priority'),\n getValue,\n setValue,\n debounce\n });\n}\n","import {\n getBusinessObject,\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport { TextFieldEntry, isTextFieldEntryEdited } from '@bpmn-io/properties-panel';\n\nimport {\n useService\n} from '../../../hooks';\n\n\nexport function VersionTagProps(props) {\n const {\n element\n } = props;\n\n const businessObject = getBusinessObject(element);\n\n if (!is(element, 'bpmn:Process') &&\n !(is(element, 'bpmn:Participant') && businessObject.get('processRef'))) {\n return [];\n }\n\n return [\n {\n id: 'versionTag',\n component: VersionTag,\n isEdited: isTextFieldEntryEdited\n },\n ];\n}\n\nfunction VersionTag(props) {\n const { element } = props;\n\n const commandStack = useService('commandStack');\n const translate = useService('translate');\n const debounce = useService('debounceInput');\n\n const process = getProcess(element);\n\n const getValue = () => {\n return process.get('camunda:versionTag') || '';\n };\n\n const setValue = (value) => {\n commandStack.execute('element.updateModdleProperties', {\n element,\n moddleElement: process,\n properties: {\n 'camunda:versionTag': value\n }\n });\n };\n\n return TextFieldEntry({\n element,\n id: 'versionTag',\n label: translate('Version tag'),\n getValue,\n setValue,\n debounce\n });\n}\n\n\n// helper //////////////////\n\nfunction getProcess(element) {\n return is(element, 'bpmn:Process') ?\n getBusinessObject(element) :\n getBusinessObject(element).get('processRef');\n}","import { Group, ListGroup } from '@bpmn-io/properties-panel';\n\nimport { findIndex } from 'min-dash';\n\nimport { mutate as arrayMove } from 'array-move';\n\nimport {\n AsynchronousContinuationsProps,\n BusinessKeyProps,\n CallActivityProps,\n CandidateStarterProps,\n ConditionProps,\n ConnectorInputProps,\n ConnectorOutputProps,\n ErrorProps,\n ErrorsProps,\n EscalationProps,\n ExternalTaskPriorityProps,\n FieldInjectionProps,\n FormDataProps,\n FormProps,\n HistoryCleanupProps,\n ImplementationProps,\n InitiatorProps,\n InMappingPropagationProps,\n InMappingProps,\n InputProps,\n JobExecutionProps,\n MultiInstanceProps,\n OutMappingPropagationProps,\n OutMappingProps,\n OutputProps,\n ExecutionListenerProps,\n TaskListenerProps,\n ProcessVariablesProps,\n ScriptTaskProps,\n TasklistProps,\n TimerProps,\n UserAssignmentProps,\n VersionTagProps\n} from './properties';\n\nimport { ExtensionPropertiesProps } from '../shared/ExtensionPropertiesProps';\n\nconst LOW_PRIORITY = 500;\n\nconst CAMUNDA_PLATFORM_GROUPS = [\n HistoryCleanupGroup,\n TasklistGroup,\n CandidateStarterGroup,\n ImplementationGroup,\n ExternalTaskGroup,\n ProcessVariablesGroup,\n ErrorsGroup,\n UserAssignmentGroup,\n FormGroup,\n FormDataGroup,\n TaskListenerGroup,\n StartInitiatorGroup,\n ScriptGroup,\n ConditionGroup,\n CallActivityGroup,\n AsynchronousContinuationsGroup,\n JobExecutionGroup,\n InMappingPropagationGroup,\n InMappingGroup,\n InputGroup,\n ConnectorInputGroup,\n OutMappingPropagationGroup,\n OutMappingGroup,\n OutputGroup,\n ConnectorOutputGroup,\n ExecutionListenerGroup,\n ExtensionPropertiesGroup,\n FieldInjectionGroup,\n BusinessKeyGroup\n];\n\n/**\n * Provides `camunda` namespace properties.\n *\n * @example\n * ```javascript\n * import BpmnModeler from 'bpmn-js/lib/Modeler';\n * import {\n * BpmnPropertiesPanelModule,\n * BpmnPropertiesProviderModule,\n * CamundaPlatformPropertiesProviderModule\n * } from 'bpmn-js-properties-panel';\n *\n * const modeler = new BpmnModeler({\n * container: '#canvas',\n * propertiesPanel: {\n * parent: '#properties'\n * },\n * additionalModules: [\n * BpmnPropertiesPanelModule,\n * BpmnPropertiesProviderModule,\n * CamundaPlatformPropertiesProviderModule\n * ]\n * });\n * ```\n */\nexport default class CamundaPlatformPropertiesProvider {\n\n constructor(propertiesPanel, injector) {\n propertiesPanel.registerProvider(LOW_PRIORITY, this);\n\n this._injector = injector;\n }\n\n getGroups(element) {\n return (groups) => {\n\n // (1) add Camunda Platform specific groups\n groups = groups.concat(this._getGroups(element));\n\n // (2) update existing groups with Camunda Platform specific properties\n updateGeneralGroup(groups, element);\n updateErrorGroup(groups, element);\n updateEscalationGroup(groups, element);\n updateMultiInstanceGroup(groups, element);\n updateTimerGroup(groups, element);\n\n // (3) move groups given specific priorities\n moveImplementationGroup(groups);\n\n return groups;\n };\n }\n\n _getGroups(element) {\n const groups = CAMUNDA_PLATFORM_GROUPS.map(createGroup => createGroup(element, this._injector));\n\n // contract: if a group returns null, it should not be displayed at all\n return groups.filter(group => group !== null);\n }\n}\n\nCamundaPlatformPropertiesProvider.$inject = [ 'propertiesPanel', 'injector' ];\n\n/**\n * This ensures the group always locates after \n */\nfunction moveImplementationGroup(groups) {\n const documentationGroupIdx = findGroupIndex(groups, 'documentation');\n\n if (documentationGroupIdx < 0) {\n return;\n }\n\n return moveGroup(groups, 'CamundaPlatform__Implementation', documentationGroupIdx + 1);\n}\n\nfunction updateGeneralGroup(groups, element) {\n\n const generalGroup = findGroup(groups, 'general');\n\n if (!generalGroup) {\n return;\n }\n\n const { entries } = generalGroup;\n\n // (1) add version tag before executable (if existing)\n const executableEntry = findIndex(entries, (entry) => entry.id === 'isExecutable');\n const insertIndex = executableEntry >= 0 ? executableEntry : entries.length;\n\n entries.splice(insertIndex, 0, ...VersionTagProps({ element }));\n}\n\nfunction updateErrorGroup(groups, element) {\n const errorGroup = findGroup(groups, 'error');\n\n if (!errorGroup) {\n return;\n }\n\n const { entries } = errorGroup;\n\n ErrorProps({ element, entries });\n}\n\nfunction updateMultiInstanceGroup(groups, element) {\n const multiInstanceGroup = findGroup(groups, 'multiInstance');\n\n if (!multiInstanceGroup) {\n return;\n }\n\n const { entries } = multiInstanceGroup;\n\n MultiInstanceProps({ element, entries });\n}\n\nfunction updateEscalationGroup(groups, element) {\n const escalationGroup = findGroup(groups, 'escalation');\n\n if (!escalationGroup) {\n return;\n }\n\n const { entries } = escalationGroup;\n\n EscalationProps({ element, entries });\n}\n\nfunction updateTimerGroup(groups, element) {\n const timerEventGroup = findGroup(groups, 'timer');\n\n if (!timerEventGroup) {\n return;\n }\n\n timerEventGroup.entries = [\n ...TimerProps({ element })\n ];\n}\n\nfunction ImplementationGroup(element, injector) {\n const translate = injector.get('translate');\n\n const group = {\n label: translate('Implementation'),\n id: 'CamundaPlatform__Implementation',\n component: Group,\n entries: [\n ...ImplementationProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction ErrorsGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Errors'),\n id: 'CamundaPlatform__Errors',\n component: ListGroup,\n ...ErrorsProps({ element, injector })\n };\n\n if (group.items) {\n return group;\n }\n\n return null;\n}\n\nfunction UserAssignmentGroup(element, injector) {\n const translate = injector.get('translate');\n\n const group = {\n label: translate('User assignment'),\n id: 'CamundaPlatform__UserAssignment',\n component: Group,\n entries: [\n ...UserAssignmentProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction ScriptGroup(element, injector) {\n const translate = injector.get('translate');\n\n const group = {\n label: translate('Script'),\n id: 'CamundaPlatform__Script',\n component: Group,\n entries: [\n ...ScriptTaskProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction CallActivityGroup(element, injector) {\n const translate = injector.get('translate');\n\n const group = {\n label: translate('Called element'),\n id: 'CamundaPlatform__CallActivity',\n component: Group,\n entries: [ ...CallActivityProps({ element }) ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction ConditionGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Condition'),\n id: 'CamundaPlatform__Condition',\n component: Group,\n entries: [\n ...ConditionProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction StartInitiatorGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Start initiator'),\n id: 'CamundaPlatform__StartInitiator',\n component: Group,\n entries: [\n ...InitiatorProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction ExternalTaskGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('External task'),\n id: 'CamundaPlatform__ExternalTask',\n component: Group,\n entries: [\n ...ExternalTaskPriorityProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction AsynchronousContinuationsGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Asynchronous continuations'),\n id: 'CamundaPlatform__AsynchronousContinuations',\n component: Group,\n entries: [\n ...AsynchronousContinuationsProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction JobExecutionGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Job execution'),\n id: 'CamundaPlatform__JobExecution',\n component: Group,\n entries: [\n ...JobExecutionProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction CandidateStarterGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Candidate starter'),\n id: 'CamundaPlatform__CandidateStarter',\n component: Group,\n entries: [\n ...CandidateStarterProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction FieldInjectionGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Field injections'),\n id: 'CamundaPlatform__FieldInjection',\n component: ListGroup,\n ...FieldInjectionProps({ element, injector })\n };\n\n if (group.items) {\n return group;\n }\n\n return null;\n}\n\nfunction HistoryCleanupGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('History cleanup'),\n id: 'CamundaPlatform__HistoryCleanup',\n component: Group,\n entries: [\n ...HistoryCleanupProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction TasklistGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Tasklist'),\n id: 'CamundaPlatform__Tasklist',\n component: Group,\n entries: [\n ...TasklistProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction InMappingGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('In mappings'),\n id: 'CamundaPlatform__InMapping',\n component: ListGroup,\n ...InMappingProps({ element, injector })\n };\n\n if (group.items) {\n return group;\n }\n\n return null;\n}\n\nfunction InMappingPropagationGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('In mapping propagation'),\n id: 'CamundaPlatform__InMappingPropagation',\n component: Group,\n entries: [\n ...InMappingPropagationProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction OutMappingGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Out mappings'),\n id: 'CamundaPlatform__OutMapping',\n component: ListGroup,\n ...OutMappingProps({ element, injector })\n };\n\n if (group.items) {\n return group;\n }\n\n return null;\n}\n\nfunction OutMappingPropagationGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Out mapping propagation'),\n id: 'CamundaPlatform__OutMappingPropagation',\n component: Group,\n entries: [\n ...OutMappingPropagationProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction ProcessVariablesGroup(element, injector) {\n const translate = injector.get('translate');\n\n const variableProps = ProcessVariablesProps({ element, injector });\n\n if (!variableProps) {\n return null;\n }\n\n const group = {\n label: translate('Process variables'),\n id: 'CamundaPlatform__ProcessVariables',\n ...variableProps\n };\n\n return group;\n\n}\n\nfunction FormDataGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Form fields'),\n id: 'CamundaPlatform__FormData',\n component: ListGroup,\n ...FormDataProps({ element, injector })\n };\n\n if (group.items) {\n return group;\n }\n\n return null;\n}\n\nfunction BusinessKeyGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Business key'),\n id: 'CamundaPlatform__BusinessKey',\n component: Group,\n entries: [\n ...BusinessKeyProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction FormGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Forms'),\n id: 'CamundaPlatform__Form',\n component: Group,\n entries: [\n ...FormProps({ element })\n ]\n };\n\n if (group.entries.length) {\n return group;\n }\n\n return null;\n}\n\nfunction ExecutionListenerGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Execution listeners'),\n id: 'CamundaPlatform__ExecutionListener',\n component: ListGroup,\n ...ExecutionListenerProps({ element, injector })\n };\n\n if (group.items) {\n return group;\n }\n\n return null;\n}\n\nfunction TaskListenerGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Task listeners'),\n id: 'CamundaPlatform__TaskListener',\n component: ListGroup,\n ...TaskListenerProps({ element, injector })\n };\n\n if (group.items) {\n return group;\n }\n\n return null;\n}\n\nfunction InputGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Inputs'),\n id: 'CamundaPlatform__Input',\n component: ListGroup,\n ...InputProps({ element, injector })\n };\n\n if (group.items) {\n return group;\n }\n\n return null;\n}\n\nfunction OutputGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Outputs'),\n id: 'CamundaPlatform__Output',\n component: ListGroup,\n ...OutputProps({ element, injector })\n };\n\n if (group.items) {\n return group;\n }\n\n return null;\n}\n\nfunction ConnectorInputGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Connector inputs'),\n id: 'CamundaPlatform__ConnectorInput',\n component: ListGroup,\n ...ConnectorInputProps({ element, injector })\n };\n\n if (group.items) {\n return group;\n }\n\n return null;\n}\n\nfunction ConnectorOutputGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Connector outputs'),\n id: 'CamundaPlatform__ConnectorOutput',\n component: ListGroup,\n ...ConnectorOutputProps({ element, injector })\n };\n\n if (group.items) {\n return group;\n }\n\n return null;\n}\n\nfunction ExtensionPropertiesGroup(element, injector) {\n const translate = injector.get('translate');\n const group = {\n label: translate('Extension properties'),\n id: 'CamundaPlatform__ExtensionProperties',\n component: ListGroup,\n ...ExtensionPropertiesProps({ element, injector })\n };\n\n if (group.items) {\n return group;\n }\n\n return null;\n}\n\n\n// helper /////////////////////\n\nfunction findGroup(groups, id) {\n return groups.find(g => g.id === id);\n}\n\nfunction findGroupIndex(groups, id) {\n return findIndex(groups, g => g.id === id);\n}\n\nfunction moveGroup(groups, id, position) {\n const groupIndex = findGroupIndex(groups, id);\n\n if (position < 0 || groupIndex < 0) {\n return;\n }\n\n return arrayMove(groups, groupIndex, position);\n}\n","import CamundaPlatformPropertiesProvider from './CamundaPlatformPropertiesProvider';\n\nexport default {\n __init__: [ 'camundaPlatformPropertiesProvider' ],\n camundaPlatformPropertiesProvider: [ 'type', CamundaPlatformPropertiesProvider ]\n};","/* eslint-disable react-hooks/rules-of-hooks */\nimport {\n is\n} from 'bpmn-js/lib/util/ModelUtil';\n\nimport {\n useService\n} from '../../hooks';\n\nconst TooltipProvider = {\n\n 'group-assignmentDefinition': (element) => {\n const translate = useService('translate');\n\n return (\n
\n { translate('Define who the task is assigned to. One or all of the following attributes can be specified simultaneously. ')}\n \n { translate('Learn more.') }\n \n
\n );\n },\n\n 'group-condition': (element) => {\n const translate = useService('translate');\n\n return (\n
\n { translate('Define a boolean condition expression that defines when this flow is taken. ')}\n \n { translate('Learn how to define conditions.') }\n \n
\n );\n },\n\n 'group-businessRuleImplementation': (element) => {\n const translate = useService('translate');\n\n return (\n
\n { translate('Evaluate a business rule, for example a DMN. To add a custom implementation, use a job worker. ')}\n \n { translate('Learn more.') }\n \n
\n );\n\n },\n\n 'group-scriptImplementation': (element) => {\n const translate = useService('translate');\n\n return (\n
\n { translate('Implement a script task using an inline FEEL expression. To add a custom implementation, use a job worker. ')}\n \n { translate('Learn more.') }\n \n
\n );\n },\n\n 'group-form': (element) => {\n const translate = useService('translate');\n\n return (\n
\n { translate('Embed a form created with the Camunda Forms editor. To associate a custom form, application, or URL to the user task, specify a form key. ')}\n \n { translate('Learn more.') }\n \n
\n );\n },\n\n 'group-message': (element) => {\n const translate = useService('translate');\n\n if (is(element, 'bpmn:ReceiveTask')) {\n return (\n
\n { translate('Define the name of the message (e.g. ')}Money collected{translate(') and the ')}correlationKey{translate(' expression (e.g. ')}= orderId{translate(')')}{translate(' to subscribe to. ')}\n {translate('Learn more how to ')}\n \n { translate('send ') }\n \n {translate('and ')}\n \n { translate('receive messages. ') }\n \n
\n );\n }\n\n return (\n
\n { translate('Define the name of the message (e.g. ')}Money collected{translate(') and the ')}correlationKey{translate(' expression (e.g. ')}= orderId{translate(')')}{translate(' to subscribe to. ')}\n \n { translate('Learn more.') }\n \n
\n );\n },\n\n 'group-calledElement': (element) => {\n const translate = useService('translate');\n\n return (\n
\n { translate('Define the ID of the process to call (e.g. ')} shipping-process\n {translate(' or ')}= \"shipping-\" + tenantId {translate('). ')}\n \n { translate('Learn more.') }\n \n
\n );\n },\n\n 'group-taskDefinition': (element) => {\n\n const translate = useService('translate');\n\n if (is(element, 'bpmn:ServiceTask')) {\n return (\n
{translate('Specify which job workers handle the task work to execute a service (e.g. ')}order-items{translate('). ')}\n \n { translate('Learn more.') }\n \n
\n );\n }\n\n if (is(element, 'bpmn:BusinessRuleTask')) {\n return (\n
{translate('Specify which job workers handle the task work to evaluate business rules. ')}\n \n { translate('Learn more.') }\n \n
\n );\n }\n\n if (is(element, 'bpmn:ScriptTask')) {\n return (\n
{translate('Specify which job workers handle the task work to execute a script. ')}\n \n { translate('Learn more.') }\n \n
\n );\n }\n\n if (is(element, 'bpmn:SendTask')) {\n return (\n
{translate('Specify which job workers handle the task work to send a message (e.g. ')}kafka{translate(' or ')}mail{translate('). ')}\n \n { translate('Learn more.') }\n \n
\n );\n }\n\n if (is(element, 'bpmn:ThrowEvent')) {\n return (\n
{translate('Specify which job workers handle the event work. ')}\n \n { translate('Learn more.') }\n \n
\n );\n }\n },\n\n 'group-multiInstance': (element) => {\n const translate = useService('translate');\n\n return (\n
\n {translate('Execute this task for each element of a given collection. ')}\n
\n {translate('Define an input collection expression that defines the collection to iterate over (e.g. ')}= items{translate('). ')}\n {translate('To collect the output define the output collection and the output element expressions. ')}\n \n { translate('Learn more.') }\n \n
\n );\n },\n\n 'group-error': (element) => {\n const translate = useService('translate');\n\n return (\n
\n {translate('Define an error code (e.g. ')}order-not-found{translate('). ')}\n \n { translate('Learn more.') }\n \n
\n );\n },\n\n 'group-inputs': (element) => {\n const translate = useService('translate');\n\n return (\n
\n { translate('Create a new local variable in the scope of this task. ')}\n \n { translate('Learn more.') }\n \n
\n );\n },\n\n 'group-outputs': (element) => {\n const translate = useService('translate');\n\n return (\n
\n { translate('Customize how result variables are merged into the global scope of the process instance. ')}\n \n { translate('Learn more.') }\n \n
\n );\n }\n};\n\nexport default TooltipProvider;\n"],"names":["BpmnPropertiesPanelContext","createContext","selectedElement","injector","getService","useService","type","strict","useContext","AssociationIcon","props","_jsx","children","stroke","strokeWidth","fill","strokeDasharray","strokeLinecap","d","defaultProps","width","height","xmlns","BusinessRuleTaskIcon","_jsxs","CallActivityIcon","CollaborationIcon","fillRule","ConditionalFlowIcon","ConnectionIcon","DataInputOutputAssociationIcon","DataInputIcon","DataObjectIcon","DataOutputIcon","DataStoreIcon","DefaultFlowIcon","EndEventCancelIcon","EndEventCompensationIcon","EndEventErrorIcon","EndEventEscalationIcon","EndEventLinkIcon","EndEventMessageIcon","EndEventMultipleIcon","EndEventNoneIcon","EndEventSignalIcon","EndEventTerminateIcon","EventSubProcessExpandedIcon","opacity","GatewayComplexIcon","GatewayEventBasedIcon","GatewayNoneIcon","GatewayOrIcon","GatewayParallelIcon","GatewayXorIcon","GroupIcon","IntermediateEventCatchCancelIcon","IntermediateEventCatchCompensationIcon","IntermediateEventCatchConditionIcon","IntermediateEventCatchErrorIcon","IntermediateEventCatchEscalationIcon","IntermediateEventCatchLinkIcon","IntermediateEventCatchMessageIcon","IntermediateEventCatchMultipleIcon","IntermediateEventCatchNonInterruptingConditionIcon","IntermediateEventCatchNonInterruptingEscalationIcon","IntermediateEventCatchNonInterruptingMessageIcon","IntermediateEventCatchNonInterruptingMultipleIcon","IntermediateEventCatchNonInterruptingParallelIcon","IntermediateEventCatchNonInterruptingSignalIcon","IntermediateEventCatchNonInterruptingTimerIcon","IntermediateEventCatchParallelMultipleIcon","IntermediateEventCatchSignalIcon","IntermediateEventCatchTimerIcon","IntermediateEventNoneIcon","IntermediateEventThrowCompensationIcon","IntermediateEventThrowEscalationIcon","IntermediateEventThrowLinkIcon","IntermediateEventThrowMessageIcon","IntermediateEventThrowMultipleIcon","IntermediateEventThrowSignalIcon","LaneIcon","ManualTaskIcon","MessageFlowIcon","ParticipantIcon","ProcessIcon","ReceiveTaskIcon","ScriptTaskIcon","SendTaskIcon","ServiceTaskIcon","StartEventCompensationIcon","StartEventConditionIcon","StartEventErrorIcon","StartEventEscalationIcon","StartEventMessageIcon","StartEventMultipleIcon","StartEventNonInterruptingConditionIcon","StartEventNonInterruptingEscalationIcon","StartEventNonInterruptingMessageIcon","StartEventNonInterruptingMultipleIcon","StartEventNonInterruptingParallelMultipleIcon","StartEventNonInterruptingSignalIcon","StartEventNonInterruptingTimerIcon","StartEventNoneIcon","StartEventParallelMultipleIcon","StartEventSignalIcon","StartEventTimerIcon","SubprocessCollapsedIcon","SubprocessExpandedIcon","TaskNoneIcon","TextAnnotationicon","TransactionIcon","UserTaskIcon","getConcreteType","element","elementType","getRawType","eventDefinition","getEventDefinition","getEventDefinitionPrefix","is","isInterrupting","isCancelActivity","isEventSubProcess","expanded","isExpanded","isPlane","isDefaultFlow","isConditionalFlow","PanelHeaderProvider","getDocumentationRef","elementTemplates","getTemplatesService","getTemplateDocumentation","getElementLabel","getBusinessObject","name","getLabel","getElementIcon","concreteType","template","getTemplate","icon","class","src","contents","iconsByType","getTypeLabel","replace","businessObject","cancelActivity","eventDefinitions","split","rawType","$type","sourceBusinessObject","source","default","conditionExpression","di","get","documentationRef","EmptyIcon","id","x","y","rx","maskContentUnits","maskUnits","xlinkHref","mask","xmlnsXlink","MultipleIcon","PanelPlaceholderProvider","translate","text","getEmpty","getMultiple","BpmnPropertiesPanel","getProviders","layoutConfig","initialLayoutConfig","descriptionConfig","tooltipConfig","feelPopupContainer","canvas","elementRegistry","eventBus","state","setState","useState","_update","newSelectedElement","labelTarget","fire","useEffect","onSelectionChanged","e","newSelection","length","newElement","rootElement","getRootElement","isImplicitRoot","on","off","onElementsChanged","elements","updatedElement","findElement","elementExists","onRootAdded","onProvidersChanged","onTemplatesChanged","bpmnPropertiesPanelContext","providers","groups","useMemo","reduce","provider","isArray","updater","getGroups","setLayoutConfig","onLayoutChanged","useCallback","newLayout","layout","cb","onDescriptionLoaded","description","onTooltipLoaded","tooltip","Provider","value","PropertiesPanel","headerProvider","placeholderProvider","layoutChanged","descriptionLoaded","tooltipLoaded","isImplicit","find","DEFAULT_PRIORITY","BpmnPropertiesPanelRenderer","constructor","config","parent","_eventBus","_injector","_layoutConfig","_descriptionConfig","_tooltipConfig","_feelPopupContainer","_container","domify","commandStack","setupKeyboard","attachTo","detach","event","_render","container","Error","prototype","jquery","domQuery","appendChild","parentNode","removeChild","registerProvider","priority","console","error","push","setLayout","_getProviders","createEvent","render","bind","_destroy","$inject","cancel","preventDefault","stopPropagation","handleKeys","isUndo","undo","isRedo","redo","domEvent","unbind","MultiCommandHandler","_commandStack","preExecute","context","forEach","command","execute","cmd","HANDLERS","CommandInitializer","handler","registerHandler","__init__","__depends__","Commands","DebounceInputModule","FeelPopupModule","propertiesPanel","ReferenceSelectEntry","autoFocusEntry","getOptions","options","prevOptions","usePrevious","entry","focusableInput","select","SelectEntry","isErrorSupported","isAny","getErrorEventDefinition","getTimerEventDefinition","getError","errorEventDefinition","eventType","definition","isMessageSupported","getMessageEventDefinition","getMessage","messageEventDefinition","getLinkEventDefinition","getSignalEventDefinition","isLinkSupported","isSignalSupported","getSignal","signalEventDefinition","getEscalationEventDefinition","isEscalationSupported","getEscalation","escalationEventDefinition","isCompensationSupported","getCompensateEventDefinition","getCompensateActivity","compensateEventDefinition","CompensationProps","component","WaitForCompletion","isEdited","isCheckboxEntryEdited","ActivityRef","isSelectEntryEdited","getValue","setValue","moddleElement","properties","waitForCompletion","CheckboxEntry","label","activityRef","undefined","activities","findActivityRefs","sortByName","activity","createOptionLabel","ReferenceSelect","getFlowElements","flowElements","filter","flowElement","getContainedActivities","getContainedBoundaryEvents","hasCompensationEventAttached","boundaryEvents","activityId","boundaryEvent","attachedToRef","canBeCompensated","triggeredByEvent","isForCompensation","getActivitiesForCompensation","$parent","sortBy","toLowerCase","DOCUMENTATION_TEXT_FORMAT","DocumentationProps","entries","ElementDocumentationProperty","isTextAreaEntryEdited","hasProcessRef","ProcessDocumentationProperty","bpmnFactory","debounce","getDocumentation","setDocumentation","TextAreaEntry","processRef","findDocumentation","docs","textFormat","documentation","without","create","createElement","factory","nextId","prefix","ids","Ids","nextPrefixed","getRoot","filterElementsByType","objectList","list","findRootElementsByType","referencedType","root","findRootElementById","EMPTY_OPTION","CREATE_NEW_OPTION","ErrorProps","ErrorRef","ErrorName","isTextFieldEntryEdited","ErrorCode","commands","rootElements","errorRef","errors","TextFieldEntry","errorCode","EscalationProps","escalation","EscalationRef","EscalationName","EscalationCode","escalationRef","escalations","escalationCode","ExecutableProps","Executable","modeling","updateProperties","isExecutable","process","SPACE_REGEX","QNAME_REGEX","ID_REGEX","isIdValid","idValue","assigned","$model","idAlreadyExists","validateId","containsSpace","test","IdProps","Id","validate","LinkProps","LinkName","linkEventDefinition","MessageProps","message","MessageRef","MessageName","messageRef","messages","MultiInstanceProps","isMultiInstanceSupported","LoopCardinality","CompletionCondition","getLoopCardinalityValue","updateFormalExpression","getCompletionConditionValue","loopCharacteristics","getLoopCharacteristics","getBody","expression","getProperty","propertyName","bo","createFormalExpression","body","newValue","expressionProps","existingExpression","getLoopCardinality","loopCardinality","getCompletionCondition","completionCondition","NameProps","Name","autoResize","categoryValueRef","initializeCategory","updateLabel","definitions","categoryValue","createCategoryValue","category","collectionAdd","ProcessProps","ProcessId","ProcessName","SignalProps","signal","SignalRef","SignalName","signalRef","signals","isTimerSupported","getTimerDefinitionType","timer","timeDate","timeCycle","timeDuration","TimerProps","idPrefix","timerEventDefinition","timerEventDefinitionType","getId","TimerEventDefinitionType","TimerEventDefinitionValue","formalExpression","newProps","timerEventFormalExpression","getTimerEventDefinitionValueDescription","timerDefinitionType","href","target","rel","GeneralGroup","Group","CompensationGroup","group","DocumentationGroup","ErrorGroup","MessageGroup","SignalGroup","LinkGroup","EscalationGroup","TimerGroup","MultiInstanceGroup","BpmnPropertiesProvider","concat","bpmnPropertiesProvider","getExtensionElementsList","extensionElements","values","addExtensionElements","extensionElementToAdd","removeExtensionElements","extensionElementsToRemove","includes","fallbackResolver","getVariablesForElement","withVariableContext","Component","bpmnElement","variables","setVariables","variableResolver","useServiceIfAvailable","extractVariables","map","variable","info","origin","join","callback","service","fallback","resolved","withTooltipContainer","tooltipContainer","feelTooltipContainer","FeelEntry","BaseFeelEntry","FeelEntryWithVariableContext","AssignmentDefinitionProps","Assignee","isFeelEntryEdited","CandidateGroups","CandidateUsers","getAssignmentDefinition","assignee","assignmentDefinition","feel","candidateGroups","candidateUsers","isZeebeServiceTask","getTaskDefinition","isMessageEndEvent","isMessageThrowEvent","areHeadersSupported","getTaskHeaders","getHeaders","taskHeaders","DMN_IMPLEMENTATION_OPTION","JOB_WORKER_IMPLEMENTATION_OPTION","DEFAULT_IMPLEMENTATION_OPTION","BusinessRuleImplementationProps","BusinessRuleImplementation","isBusinessRuleImplementationEdited","getCalledDecision","extensionElement","extensionElementType","resetElement","updateExtensionElements","toRemove","Boolean","extensionElementValues","CalledDecisionProps","DecisionID","ResultVariable","decisionId","calledDecision","resultVariable","ConditionProps","conditionProps","isConditionalSource","ConditionExpression","getConditionExpression","formalExpressionElement","CONDITIONAL_SOURCES","FormProps","formHelper","invoke","FormHelper","FormType","isCamundaForm","FormConfiguration","isCustomKey","CustomFormKey","formDefinition","getFormDefinition","userTaskForm","getUserTaskForm","resetForm","setUserTaskForm","setFormDefinition","rows","USER_TASK_FORM_PREFIX","formDefinitions","isUndefined","formKey","findUserTaskForm","ensureTaskForm","rootExtensionElements","UpdateModdlePropertiesCmd","createUserTaskForm","ensureFormDefinition","customFormKey","formId","createFormId","createFormKey","createFormDefinition","resolveFormId","formDefCommands","userTaskCommands","unsetFormDefinition","forms","newProperties","Header","header","KeyProperty","ValueProperty","key","HeaderProps","headers","items","index","remove","removeFactory","add","addFactory","shouldSort","newTaskHeaders","getProcessId","calledElement","getCalledElement","calledElements","getCalledElements","extElements","InputPropagationProps","PropagateAllParentVariables","isToggleSwitchEntryEdited","propagateAllParentVariables","isPropagateAllParentVariables","ToggleSwitchEntry","switcherLabel","has","InputOutputParameter","parameter","TargetProperty","SourceProperty","getElements","prop","elems","getParameters","ioMapping","getIoMapping","getInputParameters","apply","getOutputParameters","areInputParametersSupported","isSignalThrowEvent","areOutputParametersSupported","createIOMapping","InputProps","inputParameters","outputParameters","newParameter","canHaveSubscriptionCorrelationKey","SubscriptionCorrelationKey","getCorrelationKey","subscription","getSubscription","correlationKey","subscriptions","getSubscriptions","supportsMultiInstances","InputCollection","InputElement","OutputCollection","OutputElement","setProperty","setCompletionCondition","getZeebeLoopCharacteristics","zeebeLoopCharacteristics","OutputPropagationProps","PropagateAllChildVariables","propagateAllChildVariables","isPropagateAllChildVariables","determinePropAllChildVariablesDefault","OutputProps","SCRIPT_IMPLEMENTATION_OPTION","ScriptImplementationProps","ScriptImplementation","isScriptImplementationEdited","getScript","taskDefinition","script","removed","matcher","extension","ScriptProps","Expression","TargetProps","TargetProcessId","processId","TaskDefinitionProps","TaskDefinitionType","TaskDefinitionRetries","retries","TaskScheduleProps","DueDate","FollowUpDate","taskSchedule","getTaskSchedule","dueDate","followUpDate","isTimerExpressionTypeSupported","hasParentEventSubProcess","timerOptions","getTimerOptions","createTimerFormalExpression","set","title","ExtensionProperty","property","NameProperty","ExtensionPropertiesProps","namespace","getRelevantBusinessObject","getPropertiesList","getProperties","getPropertyName","LOW_PRIORITY","ZEEBE_GROUPS","BusinessRuleImplementationGroup","CalledDecisionGroup","ScriptImplementationGroup","ScriptGroup","TaskDefinitionGroup","AssignmentDefinitionGroup","FormGroup","ConditionGroup","TargetGroup","InputPropagationGroup","InputGroup","OutputPropagationGroup","OutputGroup","HeaderGroup","ExtensionPropertiesGroup","ZeebePropertiesProvider","_getGroups","updateErrorGroup","updateEscalationGroup","updateMessageGroup","updateSignalGroup","updateTimerGroup","updateMultiInstanceGroup","removeMessageGroup","createGroup","ListGroup","errorGroup","findGroup","replaceEntries","escalationGroup","signalGroup","messageGroup","timerEventGroup","multiInstanceGroup","g","oldEntries","newEntries","filteredEntries","oldEntry","newEntry","zeebePropertiesProvider","AsynchronousContinuationsProps","checkboxIsEditedInverted","node","checked","AsynchronousContinuationBefore","AsynchronousContinuationAfter","isAsyncBefore","isAsyncAfter","Exclusive","isExclusive","BusinessKeyProps","hasFormFields","BusinessKey","formData","getFormData","fields","field","CalledBpmnProps","CalledElement","CalledElementBinding","CalledElementTenantId","binding","splice","CalledElementVersion","CalledElementVersionTag","calledElementBinding","calledElementVersion","calledElementVersionTag","calledElementTenantId","CalledCmmnProps","CaseRef","CaseBinding","CaseTenantId","CaseVersion","caseRef","caseBinding","caseVersion","caseTenantId","DelegateVariableMappingProps","DelegateVariableMappingType","getDelegateVariableMappingType","VariableMappingClass","VariableMappingDelegateExpression","DEFAULT_PROPS","variableMappingDelegateExpression","variableMappingClass","CallActivityProps","CalledElementType","calledElementType","getCalledElementType","DEFAULT_BUSINESS_KEY","hasBusinessKey","BusinessKeyExpression","addBusinessKey","removeBusinessKey","businessKeyItem","createBusinessKey","businessKey","camundaInList","businessKeyItems","camundaIn","getBusinessKey","findCamundaInWithBusinessKey","CandidateStarterProps","CandidateStarterGroups","CandidateStarterUsers","getProcess","getConditionalEventDefinition","VariableEventProps","ConditionType","conditionType","getConditionType","ConditionScriptProps","updateCondition","attributes","language","scriptType","getScriptType","Language","ScriptType","Script","Resource","updatedProperties","monospace","VariableName","isInEventSubProcess","VariableEvents","variableName","variableEvents","resource","condition","Format","Type","scriptFormat","scriptProperty","getScriptProperty","getScriptValue","scriptValue","isScript","inputOutput","getInputOutput","isInputOutputSupported","getInputOutputType","definitionTypes","CreateParameterCmd","isInput","AddParameterCmd","ListProp","item","ListItem","ListProps","addItem","removeItem","compareFn","anotherItem","anotherValue","ListEntry","onAdd","onRemove","definitionLabels","isDefinitionType","ListValue","disabled","SimpleEntry","isList","isMap","MapProp","open","CollapsibleEntry","MapEntry","MapProps","addEntry","removeEntry","anotherEntry","anotherKey","MapKey","MapValue","inputOutputType","StringOrExpression","createDefinitionElement","mapping","isServiceTaskLike","isDmnCapable","isExternalCapable","getServiceTaskLikeBusinessObject","getImplementationType","getListenerBusinessObject","decisionRef","connectors","cls","delegateExpression","areConnectorsSupported","getConnectors","getConnector","ConnectorInputProps","connector","ConnectorOutputProps","idx","findPlaceToInsert","ErrorMessage","canHaveErrorVariables","ErrorCodeVariable","ErrorMessageVariable","entryIndex","findIndex","errorMessage","ErrorsProps","errorEventDefinitions","getErrorLabel","canHaveEscalationVariables","EscalationCodeVariable","ExternalTaskPriorityProps","isExternalTaskLike","ExternalTaskPriority","FieldInjection","TypeProperty","determineType","Object","assign","string","stringValue","FieldInjectionProps","fieldInjections","getFieldLabel","fieldInjection","FormFieldConstraint","constraint","Config","FormFieldProperty","Value","FormFieldValue","val","CUSTOM_TYPE_VALUE","DEFINED_TYPE_VALUES","FormField","formField","Label","CustomType","DefaultValue","ValueList","ConstraintList","PropertiesList","unshift","defaultValue","addValue","removeValue","Constraint","validation","constraints","addConstraint","removeConstraint","Property","propertyEntries","addProperty","removeProperty","createAlphanumericCompare","FormDataProps","isFormDataSupported","formFields","getFormFieldsList","FORM_KEY_PROPS","FORM_REF_PROPS","FormTypeProps","isDefined","removePropertiesCommands","getFormRefBinding","getFormType","isFormSupported","formType","bindingType","FormKey","FormRef","Binding","Version","HistoryCleanupProps","HistoryTimeToLive","DmnImplementationProps","implementationType","getDecisionRefBinding","DecisionRef","VersionTag","TenantId","getResultVariable","MapDecisionResult","DELEGATE_PROPS","DMN_CAPABLE_PROPS","EXTERNAL_CAPABLE_PROPS","IMPLEMENTATION_TYPE_NONE_LABEL","IMPLEMENTATION_TYPE_JAVA_LABEL","IMPLEMENTATION_TYPE_EXPRESSION_LABEL","IMPLEMENTATION_TYPE_DELEGATE_LABEL","IMPLEMENTATION_TYPE_DMN_LABEL","IMPLEMENTATION_TYPE_EXTERNAL_LABEL","IMPLEMENTATION_TYPE_CONNECTOR_LABEL","ImplementationTypeProps","ImplementationType","oldType","isDelegateType","UpdateModdlePropertiesCommand","sortByPriority","priorities","o","ImplementationProps","JavaClass","DelegateExpression","Topic","ConnectorId","InitiatorProps","isInitiator","Initiator","InMappingPropagationProps","areInMappingsSupported","PropagateAll","isPropagateAll","Local","addInMapping","removeInMapping","mappings","findRelevantInMappings","local","getInMappings","inMappings","InOutMapping","getInOutType","Source","SourceExpression","Target","sourceExpression","inOutType","InMappingProps","variableMappings","newMapping","JobExecutionProps","isAsync","isTimerEvent","RetryTimeCycle","JobPriority","failedJobRetryTimeCycle","Collection","ElementVariable","MultiInstanceAsynchronousBefore","MultiInstanceAsynchronousAfter","MultiInstanceExclusive","MultiInstanceRetryTimeCycle","getCollection","getElementVariable","OutMappingPropagationProps","areOutMappingsSupported","addOutMapping","removeOutMapping","findRelevantOutMappings","getOutMappings","OutMappingProps","listener","isTimerSupportedOnListener","LISTENER_ALLOWED_TYPES","SCRIPT_PROPS","CLASS_PROPS","EXPRESSION_PROPS","DELEGATE_EXPRESSION_PROPS","DEFAULT_EVENT_PROPS","IMPLEMENTATION_TYPE_TO_LABEL","EVENT_TO_LABEL","start","end","take","assignment","complete","delete","update","timeout","ExecutionListenerProps","getListenersContainer","listeners","getListenerLabel","ExecutionListener","removeListenerFactory","addExecutionListenerFactory","EventType","ListenerType","ImplementationDetails","Fields","TaskListenerProps","TaskListener","addTaskListenerFactory","ListenerId","EventTypeDetails","removeListener","getDefaultEventTypeProperties","getListenerType","getDefaultImplementationProperties","updateModdleProperties","getListenerTypeOptions","getPrefixedId","Field","fieldId","addField","removeField","compareName","addListenerFactory","listenerGroup","getDefaultEvent","anotherField","anotherName","ProcessVariablesEntry","scope","getScope","rawVariables","getVariablesForScope","withName","populateElementNames","byScope","groupByScope","multiScope","isMultiScope","variableItems","reversed","reverse","keys","scopeKey","flatten","ProcessVariableItem","ProcessVariablesProps","canHaveProcessVariables","Scope","CreatedIn","style","prefixId","groupBy","names","scopedVariables","array","a","i","ScriptTaskProps","TasklistProps","Startable","UserAssignmentProps","Priority","VersionTagProps","CAMUNDA_PLATFORM_GROUPS","HistoryCleanupGroup","TasklistGroup","CandidateStarterGroup","ImplementationGroup","ExternalTaskGroup","ProcessVariablesGroup","ErrorsGroup","UserAssignmentGroup","FormDataGroup","TaskListenerGroup","StartInitiatorGroup","CallActivityGroup","AsynchronousContinuationsGroup","JobExecutionGroup","InMappingPropagationGroup","InMappingGroup","ConnectorInputGroup","OutMappingPropagationGroup","OutMappingGroup","ConnectorOutputGroup","ExecutionListenerGroup","FieldInjectionGroup","BusinessKeyGroup","CamundaPlatformPropertiesProvider","updateGeneralGroup","moveImplementationGroup","documentationGroupIdx","findGroupIndex","moveGroup","generalGroup","executableEntry","insertIndex","variableProps","position","groupIndex","arrayMove","camundaPlatformPropertiesProvider","TooltipProvider"],"mappings":"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"}