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
The following commit(s) were added to refs/heads/main by this push: new b4fb84e8 Fixe for UI b4fb84e8 is described below commit b4fb84e8c8e96360027d439d38fe5c66964bf9b2 Author: Marat Gubaidullin <ma...@talismancloud.io> AuthorDate: Sat Dec 9 09:29:00 2023 -0500 Fixe for UI --- karavan-designer/public/example/demo.camel.yaml | 257 +++++++++++---------- karavan-designer/src/App.tsx | 2 +- .../route/property/ComponentParameterField.tsx | 5 +- .../src/designer/route/useRouteDesignerHook.tsx | 20 +- 4 files changed, 155 insertions(+), 129 deletions(-) diff --git a/karavan-designer/public/example/demo.camel.yaml b/karavan-designer/public/example/demo.camel.yaml index 1bc2b8ae..224de986 100644 --- a/karavan-designer/public/example/demo.camel.yaml +++ b/karavan-designer/public/example/demo.camel.yaml @@ -4,128 +4,135 @@ from: uri: timer id: from-cfa5 - steps: - - choice: - when: - - expression: - simple: - id: simple-99bf - id: when-ab5e - steps: - - to: - uri: arangodb - id: to-f70a - - removeProperties: - id: removeProperties-344a - - expression: - simple: - id: simple-d199 - id: when-37cd - steps: - - to: - uri: amqp - id: to-fbfe - - choice: - when: - - expression: - simple: - id: simple-e78b - id: when-b7d0 - otherwise: - id: otherwise-40d0 - id: choice-8f6b - otherwise: - id: otherwise-382c - steps: - - log: - message: ${body} - id: log-6831 - id: choice-c1db - - saga: - id: saga-8f2c - steps: - - to: - uri: kamelet:azure-cosmosdb-sink - id: to-1394 -- route: - nodePrefixId: route-171 - id: route-99f9 - from: - uri: kamelet:azure-storage-blob-source - id: from-f8e9 - steps: - - multicast: - id: multicast-6a53 - steps: - - log: - message: ${body} - id: log-799d - - log: - message: ${body} - id: log-fc8e - - log: - message: ${body} - id: log-1e42 - - filter: - expression: - simple: - id: simple-7ff9 - id: filter-8c99 - steps: - - process: - id: process-e1c1 - description: Call cutom java bean - - delay: - expression: - simple: - id: simple-64a6 - id: delay-b1ec - - doTry: - id: doTry-46cd - doCatch: - - id: doCatch-c6e7 - steps: - - log: - message: ${body} - id: log-77df - - choice: - when: - - expression: - simple: - id: simple-c7db - id: when-f058 - otherwise: - id: otherwise-1e11 - id: choice-8374 - - wireTap: - id: wireTap-a25e - doFinally: - id: doFinally-0a65 - steps: - - log: - message: ${body} - id: log-f4fa - - log: - message: ${body} - id: log-cd30 - steps: - - pollEnrich: - expression: - simple: - id: simple-6181 - id: pollEnrich-a41b - - filter: - expression: - simple: - id: simple-a69b - id: filter-07cf - steps: - - setBody: - expression: - simple: - id: simple-f0dc - id: setBody-3c0c - - process: - id: process-6d06 - - circuitBreaker: - id: circuitBreaker-4af8 +# steps: +# - marshal: +# id: marshal-b68c +# - filter: +# expression: +# simple: +# id: simple-1465 +# id: filter-b351 +# - choice: +# when: +# - expression: +# simple: +# id: simple-99bf +# id: when-ab5e +# steps: +# - to: +# uri: arangodb +# id: to-f70a +# - removeProperties: +# id: removeProperties-344a +# - expression: +# simple: +# id: simple-d199 +# id: when-37cd +# steps: +# - to: +# uri: amqp +# id: to-fbfe +# - choice: +# when: +# - expression: +# simple: +# id: simple-e78b +# id: when-b7d0 +# otherwise: +# id: otherwise-40d0 +# id: choice-8f6b +# otherwise: +# id: otherwise-382c +# steps: +# - log: +# message: ${body} +# id: log-6831 +# id: choice-c1db +# - saga: +# id: saga-8f2c +# steps: +# - to: +# uri: kamelet:azure-cosmosdb-sink +# id: to-1394 +#- route: +# nodePrefixId: route-171 +# id: route-99f9 +# from: +# uri: kamelet:azure-storage-blob-source +# id: from-f8e9 +# steps: +# - multicast: +# id: multicast-6a53 +# steps: +# - log: +# message: ${body} +# id: log-799d +# - log: +# message: ${body} +# id: log-fc8e +# - log: +# message: ${body} +# id: log-1e42 +# - filter: +# expression: +# simple: +# id: simple-7ff9 +# id: filter-8c99 +# steps: +# - process: +# id: process-e1c1 +# description: Call cutom java bean +# - delay: +# expression: +# simple: +# id: simple-64a6 +# id: delay-b1ec +# - doTry: +# id: doTry-46cd +# doCatch: +# - id: doCatch-c6e7 +# steps: +# - log: +# message: ${body} +# id: log-77df +# - choice: +# when: +# - expression: +# simple: +# id: simple-c7db +# id: when-f058 +# otherwise: +# id: otherwise-1e11 +# id: choice-8374 +# - wireTap: +# id: wireTap-a25e +# doFinally: +# id: doFinally-0a65 +# steps: +# - log: +# message: ${body} +# id: log-f4fa +# - log: +# message: ${body} +# id: log-cd30 +# steps: +# - pollEnrich: +# expression: +# simple: +# id: simple-6181 +# id: pollEnrich-a41b +# - filter: +# expression: +# simple: +# id: simple-a69b +# id: filter-07cf +# steps: +# - setBody: +# expression: +# simple: +# id: simple-f0dc +# id: setBody-3c0c +# - process: +# id: process-6d06 +# - circuitBreaker: +# id: circuitBreaker-4af8 diff --git a/karavan-designer/src/App.tsx b/karavan-designer/src/App.tsx index eadcdfbb..a6613131 100644 --- a/karavan-designer/src/App.tsx +++ b/karavan-designer/src/App.tsx @@ -116,7 +116,7 @@ class App extends React.Component<Props, State> { } save(filename: string, yaml: string, propertyOnly: boolean) { - // console.log(yaml); + console.log(yaml); } getSpinner() { diff --git a/karavan-designer/src/designer/route/property/ComponentParameterField.tsx b/karavan-designer/src/designer/route/property/ComponentParameterField.tsx index f80c3e75..49eb2f6a 100644 --- a/karavan-designer/src/designer/route/property/ComponentParameterField.tsx +++ b/karavan-designer/src/designer/route/property/ComponentParameterField.tsx @@ -297,13 +297,14 @@ export function ComponentParameterField(props: Props) { } function getSwitch(property: ComponentProperty, value: any) { + const isChecked = value !== undefined ? Boolean(value) : (property.defaultValue !== undefined && ['true', true].includes(property.defaultValue)) return ( <Switch id={id} name={id} value={value?.toString()} aria-label={id} - isChecked={value !== undefined ? Boolean(value) : property.defaultValue !== undefined && property.defaultValue === 'true'} - onChange={e => parametersChanged(property.name, !Boolean(value))}/> + isChecked={isChecked} + onChange={(e, checked) => parametersChanged(property.name, checked)}/> ) } diff --git a/karavan-designer/src/designer/route/useRouteDesignerHook.tsx b/karavan-designer/src/designer/route/useRouteDesignerHook.tsx index 1457adba..51b97e20 100644 --- a/karavan-designer/src/designer/route/useRouteDesignerHook.tsx +++ b/karavan-designer/src/designer/route/useRouteDesignerHook.tsx @@ -18,7 +18,14 @@ import React from 'react'; import '../karavan.css'; import {DslMetaModel} from "../utils/DslMetaModel"; import {CamelUtil} from "karavan-core/lib/api/CamelUtil"; -import {ChoiceDefinition, FromDefinition, LogDefinition, RouteConfigurationDefinition, RouteDefinition} from "karavan-core/lib/model/CamelDefinition"; +import { + ChoiceDefinition, + FromDefinition, JsonDataFormat, + LogDefinition, + MarshalDefinition, + RouteConfigurationDefinition, + RouteDefinition, UnmarshalDefinition +} from "karavan-core/lib/model/CamelDefinition"; import {CamelElement, MetadataLabels} from "karavan-core/lib/model/IntegrationDefinition"; import {CamelDefinitionApiExt} from "karavan-core/lib/api/CamelDefinitionApiExt"; import {CamelDefinitionApi} from "karavan-core/lib/api/CamelDefinitionApi"; @@ -247,6 +254,7 @@ export function useRouteDesignerHook () { default: const step = CamelDefinitionApi.createStep(dsl.dsl, undefined); const augmentedStep = setDslDefaults(step); + console.log(step, augmentedStep) addStep(augmentedStep, parentId, position) break; } @@ -261,6 +269,16 @@ export function useRouteDesignerHook () { (step as ChoiceDefinition).when?.push(CamelDefinitionApi.createStep('WhenDefinition', undefined)); (step as ChoiceDefinition).otherwise = CamelDefinitionApi.createStep('OtherwiseDefinition', undefined); } + if (step.dslName === 'MarshalDefinition') { + if (CamelDefinitionApiExt.getDataFormat(step) === undefined) { + (step as MarshalDefinition).json = new JsonDataFormat() + } + } + if (step.dslName === 'UnmarshalDefinition') { + if (CamelDefinitionApiExt.getDataFormat(step) === undefined) { + (step as UnmarshalDefinition).json = new JsonDataFormat() + } + } return step; }