Append correlation Properties in Launch editor event
This commit is contained in:
parent
8641d5cb0f
commit
e21d0be90d
|
@ -1,6 +1,6 @@
|
|||
import { HeaderButton } from '@bpmn-io/properties-panel';
|
||||
import { useService } from 'bpmn-js-properties-panel';
|
||||
import {getMessageRefElement} from "../../MessageHelpers";
|
||||
import { findCorrelationProperties, findCorrelationPropertiesAndRetrievalExpressionsForMessage, findCorrelationPropertiesByMessage, getMessageRefElement } from "../../MessageHelpers";
|
||||
|
||||
/**
|
||||
* Sends a notification to the host application saying the user
|
||||
|
@ -8,7 +8,7 @@ import {getMessageRefElement} from "../../MessageHelpers";
|
|||
* update the value and send it back.
|
||||
*/
|
||||
export function MessageLaunchEditorButton(props) {
|
||||
const { element } = props;
|
||||
const { element, moddle } = props;
|
||||
|
||||
const sendEvent = 'spiff.message.edit';
|
||||
const listenEvent = 'spiff.message.update';
|
||||
|
@ -16,6 +16,12 @@ export function MessageLaunchEditorButton(props) {
|
|||
const eventBus = useService('eventBus');
|
||||
|
||||
const messageRef = getMessageRefElement(element);
|
||||
const correlationProperties = findCorrelationPropertiesAndRetrievalExpressionsForMessage(element);
|
||||
const parsedCorrelationProperties = correlationProperties.map(item => ({
|
||||
id: item.correlationPropertyModdleElement.id,
|
||||
retrievalExpression: item.correlationPropertyRetrievalExpressionModdleElement.messagePath.body
|
||||
}));
|
||||
|
||||
let messageId = null;
|
||||
if (messageRef && messageRef.id) {
|
||||
messageId = messageRef.id;
|
||||
|
@ -28,10 +34,14 @@ export function MessageLaunchEditorButton(props) {
|
|||
id: `message_launch_message_editor_button`,
|
||||
onClick: () => {
|
||||
eventBus.fire(sendEvent, {
|
||||
value: messageId,
|
||||
value: {
|
||||
messageId,
|
||||
correlation_properties: parsedCorrelationProperties
|
||||
},
|
||||
eventBus,
|
||||
listenEvent,
|
||||
});
|
||||
|
||||
// Listen for a response, to update the script.
|
||||
eventBus.once(listenEvent, (response) => {
|
||||
messageRef.id = response.value;
|
||||
|
|
|
@ -40,9 +40,8 @@ export function MessageSelect(props) {
|
|||
const messageId = value;
|
||||
const { businessObject } = element;
|
||||
let oldMessageRef = (businessObject.eventDefinitions) ? businessObject.eventDefinitions[0].messageRef : businessObject.messageRef;
|
||||
|
||||
let definitions = getRoot(element.businessObject);
|
||||
if (!definitions.get('rootElements')) {
|
||||
if (!definitions || !definitions.get('rootElements')) {
|
||||
definitions.set('rootElements', []);
|
||||
}
|
||||
|
||||
|
|
|
@ -39,7 +39,8 @@ export function createMessageGroup(
|
|||
id: 'messageLaunchEditorButton',
|
||||
element,
|
||||
translate,
|
||||
component: MessageLaunchEditorButton
|
||||
component: MessageLaunchEditorButton,
|
||||
moddle
|
||||
}
|
||||
];
|
||||
|
||||
|
|
Loading…
Reference in New Issue