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/09 15:39:19 UTC

[camel-karavan] branch main updated (6c642c7a -> b00187c2)

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

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


    from 6c642c7a Simplified picker #844
     new e690cb89 Simplified picker #844
     new b00187c2 Fix #842

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 karavan-core/package-lock.json                       |  4 ++--
 karavan-core/src/core/api/CamelDefinitionApiExt.ts   | 20 ++++++++------------
 .../src/designer/route/DslConnections.tsx            |  4 ++--
 .../src/designer/route/DslProperties.tsx             | 13 +++++++++----
 karavan-designer/src/designer/route/DslSelector.tsx  |  3 ++-
 karavan-designer/src/designer/utils/CamelUi.tsx      |  1 -
 6 files changed, 23 insertions(+), 22 deletions(-)


[camel-karavan] 02/02: Fix #842

Posted by ma...@apache.org.
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 b00187c22a17e77668d1a9776b32f6221069be17
Author: Marat Gubaidullin <ma...@gmail.com>
AuthorDate: Wed Aug 9 11:39:06 2023 -0400

    Fix #842
---
 karavan-core/package-lock.json                       |  4 ++--
 karavan-core/src/core/api/CamelDefinitionApiExt.ts   | 20 ++++++++------------
 .../src/designer/route/DslConnections.tsx            |  4 ++--
 .../src/designer/route/DslProperties.tsx             | 13 +++++++++----
 4 files changed, 21 insertions(+), 20 deletions(-)

diff --git a/karavan-core/package-lock.json b/karavan-core/package-lock.json
index 0a0b426f..2cbf7bc4 100644
--- a/karavan-core/package-lock.json
+++ b/karavan-core/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "karavan-core",
-  "version": "3.21.1-SNAPSHOT",
+  "version": "4.0.0-RC2",
   "lockfileVersion": 2,
   "requires": true,
   "packages": {
     "": {
       "name": "karavan-core",
-      "version": "3.21.1-SNAPSHOT",
+      "version": "4.0.0-RC2",
       "license": "Apache-2.0",
       "dependencies": {
         "@types/js-yaml": "^4.0.5",
diff --git a/karavan-core/src/core/api/CamelDefinitionApiExt.ts b/karavan-core/src/core/api/CamelDefinitionApiExt.ts
index 9ff5f563..954c613f 100644
--- a/karavan-core/src/core/api/CamelDefinitionApiExt.ts
+++ b/karavan-core/src/core/api/CamelDefinitionApiExt.ts
@@ -568,19 +568,15 @@ export class CamelDefinitionApiExt {
     };
 
     static getDataFormat = (element: CamelElement | undefined): ElementMeta | undefined => {
-        if (!element) {
-            return undefined;
-        }
-
-        for (const fieldName in element) {
-            const df = CamelMetadataApi.getCamelDataFormatMetadataByName(fieldName);
-            if (df) {
-                return df;
-            }
+        let result: ElementMeta | undefined = undefined;
+        if (element) {
+            Object.keys(element).forEach(fieldName => {
+                const df = CamelMetadataApi.getCamelDataFormatMetadataByName(fieldName);
+                result =  (element as any)[fieldName] ? df : result;
+            });
         }
-
-        return undefined;
-    };
+        return result;
+    }
 
     static getExpressionValue = (expression: ExpressionDefinition | undefined): CamelElement | undefined => {
         const language = CamelDefinitionApiExt.getExpressionLanguageName(expression);
diff --git a/karavan-designer/src/designer/route/DslConnections.tsx b/karavan-designer/src/designer/route/DslConnections.tsx
index 5280bc12..938042d4 100644
--- a/karavan-designer/src/designer/route/DslConnections.tsx
+++ b/karavan-designer/src/designer/route/DslConnections.tsx
@@ -126,7 +126,7 @@ export class DslConnections extends React.Component<Props, State> {
             const imageX = incomingX - r + 5;
             const imageY = fromY - r + 5;
             return (
-                <div style={{display: "block", position: "absolute", top: imageY, left: imageX}}>
+                <div key={pos.step.uuid + "-icon"} style={{display: "block", position: "absolute", top: imageY, left: imageX}}>
                     {CamelUi.getConnectionIcon(pos.step)}
                 </div>
             )
@@ -212,7 +212,7 @@ export class DslConnections extends React.Component<Props, State> {
             const imageX = outgoingX - r + 5;
             const imageY = outgoingY - r + 5;
             return (
-                <div style={{display: "block", position: "absolute", top: imageY, left: imageX}}>
+                <div key={pos.step.uuid + "-icon"} style={{display: "block", position: "absolute", top: imageY, left: imageX}}>
                     {CamelUi.getConnectionIcon(pos.step)}
                 </div>
             )
diff --git a/karavan-designer/src/designer/route/DslProperties.tsx b/karavan-designer/src/designer/route/DslProperties.tsx
index 435480de..f10a0eec 100644
--- a/karavan-designer/src/designer/route/DslProperties.tsx
+++ b/karavan-designer/src/designer/route/DslProperties.tsx
@@ -33,7 +33,7 @@ import {Integration, CamelElement} from "karavan-core/lib/model/IntegrationDefin
 import {CamelDefinitionApiExt} from "karavan-core/lib/api/CamelDefinitionApiExt";
 import {CamelUtil} from "karavan-core/lib/api/CamelUtil";
 import {CamelUi, RouteToCreate} from "../utils/CamelUi";
-import {CamelMetadataApi, PropertyMeta} from "karavan-core/lib/model/CamelMetadata";
+import {CamelMetadataApi, DataFormats, PropertyMeta} from "karavan-core/lib/model/CamelMetadata";
 import {IntegrationHeader} from "../utils/KaravanComponents";
 import CloneIcon from "@patternfly/react-icons/dist/esm/icons/clone-icon";
 
@@ -170,7 +170,7 @@ export class DslProperties extends React.Component<Props, State> {
 
     getPropertyFields = (properties: PropertyMeta[]) => {
         return (<>
-            {this.state.step && !['MarshalDefinition', 'UnmarshalDefinition'].includes(this.state.step.dslName) && properties.map((property: PropertyMeta) =>
+            {properties.map((property: PropertyMeta) =>
                 <DslPropertyField key={property.name}
                                   integration={this.props.integration}
                                   property={property}
@@ -186,7 +186,11 @@ export class DslProperties extends React.Component<Props, State> {
     }
 
     render() {
-        const properties = this.getProperties();
+        const dataFormats = DataFormats.map(value => value[0]);
+        const dataFormatElement = this.state.step !== undefined && ['MarshalDefinition', 'UnmarshalDefinition'].includes(this.state.step.dslName);
+        const properties = !dataFormatElement
+                    ? this.getProperties()
+                    : this.getProperties().filter(p => !dataFormats.includes(p.name));
         const propertiesMain = properties.filter(p => !p.label.includes("advanced"));
         const propertiesAdvanced = properties.filter(p => p.label.includes("advanced"));
         return (
@@ -196,7 +200,8 @@ export class DslProperties extends React.Component<Props, State> {
                     {this.state.step === undefined && <IntegrationHeader integration={this.props.integration}/>}
                     {this.state.step && this.getComponentHeader()}
                     {this.getPropertyFields(propertiesMain)}
-                    {propertiesAdvanced.length > 0 &&
+                    {this.state.step && !['MarshalDefinition', 'UnmarshalDefinition'].includes(this.state.step.dslName)
+                        && propertiesAdvanced.length > 0 &&
                         <ExpandableSection
                             toggleText={'Advanced properties'}
                             onToggle={isExpanded => this.setState({isShowAdvanced: !this.state.isShowAdvanced})}


[camel-karavan] 01/02: Simplified picker #844

Posted by ma...@apache.org.
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 e690cb89e3292a5bda33330a68e2d6775570b047
Author: Marat Gubaidullin <ma...@gmail.com>
AuthorDate: Tue Aug 8 20:00:59 2023 -0400

    Simplified picker #844
---
 karavan-designer/src/designer/route/DslSelector.tsx | 3 ++-
 karavan-designer/src/designer/utils/CamelUi.tsx     | 1 -
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/karavan-designer/src/designer/route/DslSelector.tsx b/karavan-designer/src/designer/route/DslSelector.tsx
index 3baca8d8..eb66e7ec 100644
--- a/karavan-designer/src/designer/route/DslSelector.tsx
+++ b/karavan-designer/src/designer/route/DslSelector.tsx
@@ -99,7 +99,7 @@ export class DslSelector extends React.Component<Props, State> {
                 </CardBody>
                 <CardFooter className="footer-labels">
                     <div style={{display: "flex", flexDirection: "row", justifyContent: "start"}}>
-                        {labels.map(label => <Badge isRead className="labels">{label}</Badge>)}
+                        {labels.map(label => <Badge key={label} isRead className="labels">{label}</Badge>)}
                     </div>
 
                 </CardFooter>
@@ -179,6 +179,7 @@ export class DslSelector extends React.Component<Props, State> {
                 <PageSection variant={this.props.dark ? "darker" : "light"}>
                     {isEip && <ToggleGroup aria-label="Labels" isCompact>
                         {eipLabels.map(eipLabel => <ToggleGroupItem
+                            key={eipLabel}
                             text={eipLabel}
                             buttonId={eipLabel}
                             isSelected={this.state.selectedLabels.includes(eipLabel)}
diff --git a/karavan-designer/src/designer/utils/CamelUi.tsx b/karavan-designer/src/designer/utils/CamelUi.tsx
index a94ed0ac..8d4157c4 100644
--- a/karavan-designer/src/designer/utils/CamelUi.tsx
+++ b/karavan-designer/src/designer/utils/CamelUi.tsx
@@ -88,7 +88,6 @@ import {
     WorkflowIcon
 } from "./KaravanIcons";
 import React from "react";
-import {Icon} from "@patternfly/react-core";
 
 const StepElements: string[] = [
     "AggregateDefinition",