You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ma...@apache.org on 2024/02/21 22:04:58 UTC
(camel-karavan) 02/02: fix #1139
This is an automated email from the ASF dual-hosted git repository.
marat pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-karavan.git
commit 7c75dc646d6d9f908a5ee3d2e04b1f0ba5a7f836
Author: Marat Gubaidullin <ma...@talismancloud.io>
AuthorDate: Wed Feb 21 17:04:47 2024 -0500
fix #1139
---
.../property/property/DslPropertyField.tsx | 1 -
.../designer/property/property/ExpressionField.tsx | 57 ++++++++++++++++------
.../property/property/DslPropertyField.tsx | 1 -
.../designer/property/property/ExpressionField.tsx | 57 ++++++++++++++++------
.../property/property/DslPropertyField.tsx | 1 -
.../designer/property/property/ExpressionField.tsx | 57 ++++++++++++++++------
6 files changed, 129 insertions(+), 45 deletions(-)
diff --git a/karavan-designer/src/designer/property/property/DslPropertyField.tsx b/karavan-designer/src/designer/property/property/DslPropertyField.tsx
index 74b55a25..a52cf266 100644
--- a/karavan-designer/src/designer/property/property/DslPropertyField.tsx
+++ b/karavan-designer/src/designer/property/property/DslPropertyField.tsx
@@ -940,7 +940,6 @@ export function DslPropertyField(props: Props) {
}
function getIsVariable() {
- console.log(element?.dslName)
if (['variableSend', 'variableReceive'].includes(property.name)) {
return true;
} else if (property.name === 'name' && element?.dslName === 'SetVariableDefinition') {
diff --git a/karavan-designer/src/designer/property/property/ExpressionField.tsx b/karavan-designer/src/designer/property/property/ExpressionField.tsx
index 0aaf81c1..dac658ce 100644
--- a/karavan-designer/src/designer/property/property/ExpressionField.tsx
+++ b/karavan-designer/src/designer/property/property/ExpressionField.tsx
@@ -16,8 +16,9 @@
*/
import React, {useState} from 'react';
import {
- FormGroup,
- Popover
+ ExpandableSection,
+ FormGroup,
+ Popover
} from '@patternfly/react-core';
import {
Select,
@@ -45,6 +46,7 @@ interface Props {
export function ExpressionField(props: Props) {
const [selectIsOpen, setSelectIsOpen] = useState<boolean>(false);
+ const [propsAreOpen, setPropsAreOpen] = useState<boolean>(false);
function openSelect (isExpanded: boolean) {
setSelectIsOpen(isExpanded);
@@ -91,9 +93,15 @@ export function ExpressionField(props: Props) {
const dslName = getValueClassName();
return CamelDefinitionApiExt.getElementProperties(dslName)
.filter(p => p.name !== 'id')
+ .filter(p => p.name !== 'expression')
.filter(p => !p.isObject || (p.isObject && !CamelUi.dslHasSteps(p.type)) || (dslName === 'CatchDefinition' && p.name === 'onWhen'));
}
+ function getExpressionProps (): PropertyMeta | undefined {
+ const dslName = getValueClassName();
+ return CamelDefinitionApiExt.getElementProperties(dslName).filter(p => p.name === 'expression').at(0);
+ }
+
const property: PropertyMeta = props.property;
const value = getExpressionValue();
const dslLanguage = Languages.find((l: [string, string, string]) => l[0] === getValueLanguage());
@@ -102,6 +110,7 @@ export function ExpressionField(props: Props) {
const s = <SelectOption key={lang[0]} value={lang[0]} description={lang[2]}/>;
selectOptions.push(s);
})
+ const exp = getExpressionProps();
return (
<div>
<label className="pf-v5-c-form__label" htmlFor="expression">
@@ -137,21 +146,41 @@ export function ExpressionField(props: Props) {
e.stopPropagation();
}}
className="pf-v5-c-form__group-label-help">
- <HelpIcon />
+ <HelpIcon/>
</button>
</Popover> : <div></div>
}>
- {value && getProps().map((property: PropertyMeta) =>
- <DslPropertyField key={property.name + props.value?.uuid}
- property={property}
- value={value ? (value as any)[property.name] : undefined}
- dslLanguage={dslLanguage}
- onExpressionChange={exp => {}}
- onParameterChange={parameter => {}}
- onDataFormatChange={dataFormat => {}}
- onPropertyChange={propertyChanged}
- />
- )}
+ {exp && <DslPropertyField key={exp.name + props.value?.uuid}
+ property={exp}
+ value={value ? (value as any)[exp.name] : undefined}
+ dslLanguage={dslLanguage}
+ onExpressionChange={exp => {
+ }}
+ onParameterChange={parameter => {
+ }}
+ onDataFormatChange={dataFormat => {
+ }}
+ onPropertyChange={propertyChanged}
+ />}
+ <ExpandableSection
+ toggleText={'Expression properties'}
+ onToggle={(_event, isExpanded) => setPropsAreOpen(isExpanded)}
+ isExpanded={propsAreOpen}>
+ {value && getProps().map((property: PropertyMeta) =>
+ <DslPropertyField key={property.name + props.value?.uuid}
+ property={property}
+ value={value ? (value as any)[property.name] : undefined}
+ dslLanguage={dslLanguage}
+ onExpressionChange={exp => {
+ }}
+ onParameterChange={parameter => {
+ }}
+ onDataFormatChange={dataFormat => {
+ }}
+ onPropertyChange={propertyChanged}
+ />
+ )}
+ </ExpandableSection>
</FormGroup>
</div>
)
diff --git a/karavan-space/src/designer/property/property/DslPropertyField.tsx b/karavan-space/src/designer/property/property/DslPropertyField.tsx
index 74b55a25..a52cf266 100644
--- a/karavan-space/src/designer/property/property/DslPropertyField.tsx
+++ b/karavan-space/src/designer/property/property/DslPropertyField.tsx
@@ -940,7 +940,6 @@ export function DslPropertyField(props: Props) {
}
function getIsVariable() {
- console.log(element?.dslName)
if (['variableSend', 'variableReceive'].includes(property.name)) {
return true;
} else if (property.name === 'name' && element?.dslName === 'SetVariableDefinition') {
diff --git a/karavan-space/src/designer/property/property/ExpressionField.tsx b/karavan-space/src/designer/property/property/ExpressionField.tsx
index 0aaf81c1..dac658ce 100644
--- a/karavan-space/src/designer/property/property/ExpressionField.tsx
+++ b/karavan-space/src/designer/property/property/ExpressionField.tsx
@@ -16,8 +16,9 @@
*/
import React, {useState} from 'react';
import {
- FormGroup,
- Popover
+ ExpandableSection,
+ FormGroup,
+ Popover
} from '@patternfly/react-core';
import {
Select,
@@ -45,6 +46,7 @@ interface Props {
export function ExpressionField(props: Props) {
const [selectIsOpen, setSelectIsOpen] = useState<boolean>(false);
+ const [propsAreOpen, setPropsAreOpen] = useState<boolean>(false);
function openSelect (isExpanded: boolean) {
setSelectIsOpen(isExpanded);
@@ -91,9 +93,15 @@ export function ExpressionField(props: Props) {
const dslName = getValueClassName();
return CamelDefinitionApiExt.getElementProperties(dslName)
.filter(p => p.name !== 'id')
+ .filter(p => p.name !== 'expression')
.filter(p => !p.isObject || (p.isObject && !CamelUi.dslHasSteps(p.type)) || (dslName === 'CatchDefinition' && p.name === 'onWhen'));
}
+ function getExpressionProps (): PropertyMeta | undefined {
+ const dslName = getValueClassName();
+ return CamelDefinitionApiExt.getElementProperties(dslName).filter(p => p.name === 'expression').at(0);
+ }
+
const property: PropertyMeta = props.property;
const value = getExpressionValue();
const dslLanguage = Languages.find((l: [string, string, string]) => l[0] === getValueLanguage());
@@ -102,6 +110,7 @@ export function ExpressionField(props: Props) {
const s = <SelectOption key={lang[0]} value={lang[0]} description={lang[2]}/>;
selectOptions.push(s);
})
+ const exp = getExpressionProps();
return (
<div>
<label className="pf-v5-c-form__label" htmlFor="expression">
@@ -137,21 +146,41 @@ export function ExpressionField(props: Props) {
e.stopPropagation();
}}
className="pf-v5-c-form__group-label-help">
- <HelpIcon />
+ <HelpIcon/>
</button>
</Popover> : <div></div>
}>
- {value && getProps().map((property: PropertyMeta) =>
- <DslPropertyField key={property.name + props.value?.uuid}
- property={property}
- value={value ? (value as any)[property.name] : undefined}
- dslLanguage={dslLanguage}
- onExpressionChange={exp => {}}
- onParameterChange={parameter => {}}
- onDataFormatChange={dataFormat => {}}
- onPropertyChange={propertyChanged}
- />
- )}
+ {exp && <DslPropertyField key={exp.name + props.value?.uuid}
+ property={exp}
+ value={value ? (value as any)[exp.name] : undefined}
+ dslLanguage={dslLanguage}
+ onExpressionChange={exp => {
+ }}
+ onParameterChange={parameter => {
+ }}
+ onDataFormatChange={dataFormat => {
+ }}
+ onPropertyChange={propertyChanged}
+ />}
+ <ExpandableSection
+ toggleText={'Expression properties'}
+ onToggle={(_event, isExpanded) => setPropsAreOpen(isExpanded)}
+ isExpanded={propsAreOpen}>
+ {value && getProps().map((property: PropertyMeta) =>
+ <DslPropertyField key={property.name + props.value?.uuid}
+ property={property}
+ value={value ? (value as any)[property.name] : undefined}
+ dslLanguage={dslLanguage}
+ onExpressionChange={exp => {
+ }}
+ onParameterChange={parameter => {
+ }}
+ onDataFormatChange={dataFormat => {
+ }}
+ onPropertyChange={propertyChanged}
+ />
+ )}
+ </ExpandableSection>
</FormGroup>
</div>
)
diff --git a/karavan-web/karavan-app/src/main/webui/src/designer/property/property/DslPropertyField.tsx b/karavan-web/karavan-app/src/main/webui/src/designer/property/property/DslPropertyField.tsx
index 74b55a25..a52cf266 100644
--- a/karavan-web/karavan-app/src/main/webui/src/designer/property/property/DslPropertyField.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/designer/property/property/DslPropertyField.tsx
@@ -940,7 +940,6 @@ export function DslPropertyField(props: Props) {
}
function getIsVariable() {
- console.log(element?.dslName)
if (['variableSend', 'variableReceive'].includes(property.name)) {
return true;
} else if (property.name === 'name' && element?.dslName === 'SetVariableDefinition') {
diff --git a/karavan-web/karavan-app/src/main/webui/src/designer/property/property/ExpressionField.tsx b/karavan-web/karavan-app/src/main/webui/src/designer/property/property/ExpressionField.tsx
index 0aaf81c1..dac658ce 100644
--- a/karavan-web/karavan-app/src/main/webui/src/designer/property/property/ExpressionField.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/designer/property/property/ExpressionField.tsx
@@ -16,8 +16,9 @@
*/
import React, {useState} from 'react';
import {
- FormGroup,
- Popover
+ ExpandableSection,
+ FormGroup,
+ Popover
} from '@patternfly/react-core';
import {
Select,
@@ -45,6 +46,7 @@ interface Props {
export function ExpressionField(props: Props) {
const [selectIsOpen, setSelectIsOpen] = useState<boolean>(false);
+ const [propsAreOpen, setPropsAreOpen] = useState<boolean>(false);
function openSelect (isExpanded: boolean) {
setSelectIsOpen(isExpanded);
@@ -91,9 +93,15 @@ export function ExpressionField(props: Props) {
const dslName = getValueClassName();
return CamelDefinitionApiExt.getElementProperties(dslName)
.filter(p => p.name !== 'id')
+ .filter(p => p.name !== 'expression')
.filter(p => !p.isObject || (p.isObject && !CamelUi.dslHasSteps(p.type)) || (dslName === 'CatchDefinition' && p.name === 'onWhen'));
}
+ function getExpressionProps (): PropertyMeta | undefined {
+ const dslName = getValueClassName();
+ return CamelDefinitionApiExt.getElementProperties(dslName).filter(p => p.name === 'expression').at(0);
+ }
+
const property: PropertyMeta = props.property;
const value = getExpressionValue();
const dslLanguage = Languages.find((l: [string, string, string]) => l[0] === getValueLanguage());
@@ -102,6 +110,7 @@ export function ExpressionField(props: Props) {
const s = <SelectOption key={lang[0]} value={lang[0]} description={lang[2]}/>;
selectOptions.push(s);
})
+ const exp = getExpressionProps();
return (
<div>
<label className="pf-v5-c-form__label" htmlFor="expression">
@@ -137,21 +146,41 @@ export function ExpressionField(props: Props) {
e.stopPropagation();
}}
className="pf-v5-c-form__group-label-help">
- <HelpIcon />
+ <HelpIcon/>
</button>
</Popover> : <div></div>
}>
- {value && getProps().map((property: PropertyMeta) =>
- <DslPropertyField key={property.name + props.value?.uuid}
- property={property}
- value={value ? (value as any)[property.name] : undefined}
- dslLanguage={dslLanguage}
- onExpressionChange={exp => {}}
- onParameterChange={parameter => {}}
- onDataFormatChange={dataFormat => {}}
- onPropertyChange={propertyChanged}
- />
- )}
+ {exp && <DslPropertyField key={exp.name + props.value?.uuid}
+ property={exp}
+ value={value ? (value as any)[exp.name] : undefined}
+ dslLanguage={dslLanguage}
+ onExpressionChange={exp => {
+ }}
+ onParameterChange={parameter => {
+ }}
+ onDataFormatChange={dataFormat => {
+ }}
+ onPropertyChange={propertyChanged}
+ />}
+ <ExpandableSection
+ toggleText={'Expression properties'}
+ onToggle={(_event, isExpanded) => setPropsAreOpen(isExpanded)}
+ isExpanded={propsAreOpen}>
+ {value && getProps().map((property: PropertyMeta) =>
+ <DslPropertyField key={property.name + props.value?.uuid}
+ property={property}
+ value={value ? (value as any)[property.name] : undefined}
+ dslLanguage={dslLanguage}
+ onExpressionChange={exp => {
+ }}
+ onParameterChange={parameter => {
+ }}
+ onDataFormatChange={dataFormat => {
+ }}
+ onPropertyChange={propertyChanged}
+ />
+ )}
+ </ExpandableSection>
</FormGroup>
</div>
)