From 457db30cff409140cb05c0f406fe126aa6566543 Mon Sep 17 00:00:00 2001 From: Philipp Fromme Date: Wed, 11 Sep 2024 10:47:44 +0200 Subject: [PATCH] fix(zeebe): don't create new _Binding_ and _Version tag_ on rerender Related to https://github.com/camunda/camunda-modeler/issues/4513 --- src/provider/zeebe/properties/CalledDecisionProps.js | 7 +++++-- src/provider/zeebe/properties/FormProps.js | 7 +++++-- src/provider/zeebe/properties/TargetProps.js | 7 +++++-- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/src/provider/zeebe/properties/CalledDecisionProps.js b/src/provider/zeebe/properties/CalledDecisionProps.js index 252365649..beb2f1c74 100644 --- a/src/provider/zeebe/properties/CalledDecisionProps.js +++ b/src/provider/zeebe/properties/CalledDecisionProps.js @@ -27,6 +27,9 @@ import { FeelEntryWithVariableContext } from '../../../entries/FeelEntryWithCont import { withProps } from '../../HOCs/withProps.js'; +const CalledDecisionBinding = withProps(Binding, { type: 'zeebe:CalledDecision' }), + CalledDecisionVersionTag = withProps(VersionTag, { type: 'zeebe:CalledDecision' }); + export function CalledDecisionProps(props) { const { @@ -45,7 +48,7 @@ export function CalledDecisionProps(props) { }, { id: 'bindingType', - component: withProps(Binding, { type: 'zeebe:CalledDecision' }), + component: CalledDecisionBinding, isEdited: isSelectEntryEdited } ]; @@ -53,7 +56,7 @@ export function CalledDecisionProps(props) { if (getBindingType(element, 'zeebe:CalledDecision') === 'versionTag') { entries.push({ id: 'versionTag', - component: withProps(VersionTag, { type: 'zeebe:CalledDecision' }), + component: CalledDecisionVersionTag, isEdited: isTextFieldEntryEdited }); } diff --git a/src/provider/zeebe/properties/FormProps.js b/src/provider/zeebe/properties/FormProps.js index 284979f10..18a14392d 100644 --- a/src/provider/zeebe/properties/FormProps.js +++ b/src/provider/zeebe/properties/FormProps.js @@ -40,6 +40,9 @@ import { import { withProps } from '../../HOCs'; +const FormDefinitionBinding = withProps(Binding, { type: 'zeebe:FormDefinition' }), + FormDefinitionVersionTag = withProps(VersionTag, { type: 'zeebe:FormDefinition' }); + const NONE_VALUE = 'none'; @@ -87,14 +90,14 @@ export function FormProps(props) { if (formType === FORM_TYPES.CAMUNDA_FORM_LINKED) { entries.push({ id: 'bindingType', - component: withProps(Binding, { type: 'zeebe:FormDefinition' }), + component: FormDefinitionBinding, isEdited: isSelectEntryEdited }); if (getBindingType(element, 'zeebe:FormDefinition') === 'versionTag') { entries.push({ id: 'versionTag', - component: withProps(VersionTag, { type: 'zeebe:FormDefinition' }), + component: FormDefinitionVersionTag, isEdited: isTextFieldEntryEdited }); } diff --git a/src/provider/zeebe/properties/TargetProps.js b/src/provider/zeebe/properties/TargetProps.js index 2ef720744..683f100ba 100644 --- a/src/provider/zeebe/properties/TargetProps.js +++ b/src/provider/zeebe/properties/TargetProps.js @@ -27,6 +27,9 @@ import { FeelEntryWithVariableContext } from '../../../entries/FeelEntryWithCont import { withProps } from '../../HOCs/withProps.js'; +const CalledElementBinding = withProps(Binding, { type: 'zeebe:CalledElement' }), + CalledElementVersionTag = withProps(VersionTag, { type: 'zeebe:CalledElement' }); + export function TargetProps(props) { const { @@ -45,7 +48,7 @@ export function TargetProps(props) { }, { id: 'bindingType', - component: withProps(Binding, { type: 'zeebe:CalledElement' }), + component: CalledElementBinding, isEdited: isSelectEntryEdited } ]; @@ -53,7 +56,7 @@ export function TargetProps(props) { if (getBindingType(element, 'zeebe:CalledElement') === 'versionTag') { entries.push({ id: 'versionTag', - component: withProps(VersionTag, { type: 'zeebe:CalledElement' }), + component: CalledElementVersionTag, isEdited: isTextFieldEntryEdited }); }