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 2023/08/24 23:26:20 UTC

[camel-karavan] 06/06: Fixed issue with Expressions for #836

This is an automated email from the ASF dual-hosted git repository.

marat pushed a commit to branch feature-836
in repository https://gitbox.apache.org/repos/asf/camel-karavan.git

commit 4f8a93e1392c64fc36c863316bd30af4c7b1fe42
Author: Marat Gubaidullin <ma...@Marats-MacBook-Pro.local>
AuthorDate: Thu Aug 24 19:26:02 2023 -0400

    Fixed issue with Expressions for #836
---
 karavan-designer/src/designer/route/DslConnections.tsx    |  1 -
 karavan-designer/src/designer/route/DslElement.tsx        | 13 ++++++-------
 karavan-designer/src/designer/route/usePropertiesHook.tsx |  9 ---------
 3 files changed, 6 insertions(+), 17 deletions(-)

diff --git a/karavan-designer/src/designer/route/DslConnections.tsx b/karavan-designer/src/designer/route/DslConnections.tsx
index 1002103e..a2505f4f 100644
--- a/karavan-designer/src/designer/route/DslConnections.tsx
+++ b/karavan-designer/src/designer/route/DslConnections.tsx
@@ -40,7 +40,6 @@ export const DslConnections = () => {
     }, []);
 
     function setPosition(evt: DslPosition) {
-        console.log("setPosition : ", evt);
         if (evt.command === "add") {
             addStep(evt.step.uuid, evt);
         }
diff --git a/karavan-designer/src/designer/route/DslElement.tsx b/karavan-designer/src/designer/route/DslElement.tsx
index dc73dc68..383700b0 100644
--- a/karavan-designer/src/designer/route/DslElement.tsx
+++ b/karavan-designer/src/designer/route/DslElement.tsx
@@ -44,7 +44,7 @@ interface Props {
 
 export const DslElement = (props: Props) => {
 
-    const ref = React.createRef();
+    const headerRef = React.useRef<HTMLDivElement>(null);
     const {deleteElement, selectElement, moveElement, onShowDeleteConfirmation, openSelector} = useRouteDesignerHook();
 
     const [integration, setIntegration] = useIntegrationStore((s) => [s.integration, s.setIntegration], shallow)
@@ -194,11 +194,9 @@ export const DslElement = (props: Props) => {
     }
 
     function sendPosition(el: HTMLDivElement | null, isSelected: boolean) {
-        // console.log("sendPosition1 : ", selectedStep)
         if (el) {
             const header = Array.from(el.childNodes.values()).filter((n: any) => n.classList.contains("header"))[0];
             if (header) {
-                // console.log("sendPosition2 : ", selectedStep, el)
                 const headerIcon: any = Array.from(header.childNodes.values()).filter((n: any) => n.classList.contains("header-icon"))[0];
                 const headerRect = headerIcon.getBoundingClientRect();
                 const rect = el.getBoundingClientRect();
@@ -233,7 +231,7 @@ export const DslElement = (props: Props) => {
         const headerClass = ['RouteConfigurationDefinition', 'RouteDefinition'].includes(step.dslName) ? "header-route" : "header"
         const headerClasses = isSelected() ? headerClass + " selected" : headerClass;
         return (
-            <div className={headerClasses} style={getHeaderStyle()}>
+            <div className={headerClasses} style={getHeaderStyle()} ref={headerRef}>
                 {!['RouteConfigurationDefinition', 'RouteDefinition'].includes(props.step.dslName) &&
                     <div
                         ref={el => sendPosition(el, isSelected())}
@@ -269,10 +267,11 @@ export const DslElement = (props: Props) => {
 
     function getHeaderWithTooltip(tooltip: string | undefined) {
         return (
-            <Tooltip position={"left"}
-                     content={<div>{tooltip}</div>}>
+            <>
                 {getHeader()}
-            </Tooltip>
+                <Tooltip triggerRef={headerRef} position={"left"} content={<div>{tooltip}</div>}/>
+            </>
+
         )
     }
 
diff --git a/karavan-designer/src/designer/route/usePropertiesHook.tsx b/karavan-designer/src/designer/route/usePropertiesHook.tsx
index a3e4e5cd..56c5d13d 100644
--- a/karavan-designer/src/designer/route/usePropertiesHook.tsx
+++ b/karavan-designer/src/designer/route/usePropertiesHook.tsx
@@ -26,7 +26,6 @@ import {RouteToCreate} from "../utils/CamelUi";
 import {useDesignerStore, useIntegrationStore} from "../KaravanStore";
 import {shallow} from "zustand/shallow";
 
-
 export const usePropertiesHook = () => {
 
     const [integration, setIntegration] = useIntegrationStore((state) => [state.integration, state.setIntegration], shallow)
@@ -34,7 +33,6 @@ export const usePropertiesHook = () => {
         [s.selectedStep,s.setPropertyOnly, s.setSelectedStep, s.setSelectedUuids], shallow)
 
     function onPropertyUpdate (element: CamelElement, newRoute?: RouteToCreate) {
-        console.log("-> onPropertyUpdate", element, newRoute)
         if (newRoute) {
             let i = CamelDefinitionApiExt.updateIntegrationRouteElement(integration, element);
             const f = CamelDefinitionApi.createFromDefinition({uri: newRoute.componentName, parameters: {name: newRoute.name}});
@@ -54,13 +52,10 @@ export const usePropertiesHook = () => {
     }
 
     function onPropertyChange (fieldId: string, value: string | number | boolean | any, newRoute?: RouteToCreate){
-        console.log("onPropertyChange", fieldId, value,);
-        console.log("onPropertyChange", selectedStep);
         if (selectedStep) {
             const clone = CamelUtil.cloneStep(selectedStep);
             (clone as any)[fieldId] = value;
             setSelectedStep(clone)
-            console.log("onPropertyChange", clone);
             onPropertyUpdate(clone, newRoute);
         }
     }
@@ -72,19 +67,15 @@ export const usePropertiesHook = () => {
     }
 
     function onExpressionChange (propertyName: string, exp: ExpressionDefinition)   {
-        console.log("onExpressionChange", propertyName, exp);
-        console.log("onExpressionChange", selectedStep);
         if (selectedStep) {
             const clone = (CamelUtil.cloneStep(selectedStep));
             (clone as any)[propertyName] = exp;
             setSelectedStep(clone);
-            console.log("onExpressionChange", clone);
             onPropertyUpdate(clone);
         }
     }
 
     function onParametersChange (parameter: string, value: string | number | boolean | any, pathParameter?: boolean, newRoute?: RouteToCreate)   {
-        console.log("onParametersChange", parameter, value);
         if (selectedStep && selectedStep) {
             const clone = (CamelUtil.cloneStep(selectedStep));
             const parameters: any = {...(clone as any).parameters};