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/10/18 16:16:14 UTC
[camel-karavan] branch main updated: Fix #942
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 53e30a09 Fix #942
53e30a09 is described below
commit 53e30a09de5582aa827d8ad43fcaa5a0a618dd3f
Author: Marat Gubaidullin <ma...@talismancloud.io>
AuthorDate: Wed Oct 18 12:16:05 2023 -0400
Fix #942
---
karavan-core/src/core/api/CamelUtil.ts | 4 +++-
karavan-core/test/checkRequired.spec.ts | 14 +++++++++++++-
karavan-designer/src/designer/route/usePropertiesHook.tsx | 4 +++-
karavan-vscode/webview/index.css | 6 +++++-
.../main/webui/src/designer/route/usePropertiesHook.tsx | 4 +++-
5 files changed, 27 insertions(+), 5 deletions(-)
diff --git a/karavan-core/src/core/api/CamelUtil.ts b/karavan-core/src/core/api/CamelUtil.ts
index 65579d59..7178150f 100644
--- a/karavan-core/src/core/api/CamelUtil.ts
+++ b/karavan-core/src/core/api/CamelUtil.ts
@@ -252,7 +252,9 @@ export class CamelUtil {
result[0] = allSet;
}
}
-
+ if (result[1] && result[1].length > 0) {
+ result[0] = false;
+ }
return result;
};
diff --git a/karavan-core/test/checkRequired.spec.ts b/karavan-core/test/checkRequired.spec.ts
index cdd7cb67..8c80af9e 100644
--- a/karavan-core/test/checkRequired.spec.ts
+++ b/karavan-core/test/checkRequired.spec.ts
@@ -21,15 +21,27 @@ import {
} from "../src/core/model/CamelDefinition";
import {CamelDefinitionApi} from "../src/core/api/CamelDefinitionApi";
import {CamelUtil} from "../src/core/api/CamelUtil";
+import { SetHeaderDefinition } from '../lib/model/CamelDefinition';
describe('Check required properties', () => {
- it('Check DSL', () => {
+ it('Check Log DSL', () => {
const log: LogDefinition = CamelDefinitionApi.createLogDefinition({});
expect(CamelUtil.checkRequired(log)[0]).to.equal(false);
log.message = '${body}'
expect(CamelUtil.checkRequired(log)[0]).to.equal(true);
+ });
+
+ it('Check SetHeader DSL', () => {
+ const setHeader: SetHeaderDefinition = CamelDefinitionApi.createSetHeaderDefinition({});
+ setHeader.expression = new ExpressionDefinition({simple: new SimpleExpression({expression: '${body}'})})
+ const check = CamelUtil.checkRequired(setHeader);
+ expect(check[0]).to.equal(false);
+ setHeader.name = 'header1'
+ expect(CamelUtil.checkRequired(setHeader)[0]).to.equal(true);
+ });
+ it('Check Split DSL', () => {
const split: SplitDefinition = CamelDefinitionApi.createSplitDefinition({});
expect(CamelUtil.checkRequired(split)[0]).to.equal(false);
split.expression = new ExpressionDefinition({simple: new SimpleExpression()})
diff --git a/karavan-designer/src/designer/route/usePropertiesHook.tsx b/karavan-designer/src/designer/route/usePropertiesHook.tsx
index eba82bf2..87513b18 100644
--- a/karavan-designer/src/designer/route/usePropertiesHook.tsx
+++ b/karavan-designer/src/designer/route/usePropertiesHook.tsx
@@ -75,6 +75,7 @@ export function usePropertiesHook (isRouteDesigner: boolean = true) {
}
function onPropertyChange (fieldId: string, value: string | number | boolean | any, newRoute?: RouteToCreate){
+ value = value === '' ? undefined : value;
if (selectedStep) {
const clone = CamelUtil.cloneStep(selectedStep);
(clone as any)[fieldId] = value;
@@ -99,7 +100,8 @@ export function usePropertiesHook (isRouteDesigner: boolean = true) {
}
function onParametersChange (parameter: string, value: string | number | boolean | any, pathParameter?: boolean, newRoute?: RouteToCreate) {
- if (selectedStep && selectedStep) {
+ value = value === '' ? undefined : value;
+ if (selectedStep) {
const clone = (CamelUtil.cloneStep(selectedStep));
const parameters: any = {...(clone as any).parameters};
parameters[parameter] = value;
diff --git a/karavan-vscode/webview/index.css b/karavan-vscode/webview/index.css
index 163b2573..983a7461 100644
--- a/karavan-vscode/webview/index.css
+++ b/karavan-vscode/webview/index.css
@@ -168,11 +168,15 @@ body, :root, #root, .karavan {
border-color: var(--pf-v5-global--Color--200);
}
-.vscode-dark .step-element .header .text-bottom {
+.vscode-dark .karavan .step-element .header .text-bottom {
background-color: rgb(var(--vscode-editor-background), 0.5);
color: var(--vscode-editor-foreground);
}
+.vscode-dark .karavan .step-element .header .header-text-required {
+ color: var(--pf-v5-global--danger-color--100);
+}
+
.vscode-dark .karavan .step-element .add-button {
color: var(--vscode-focusBorder);
}
diff --git a/karavan-web/karavan-app/src/main/webui/src/designer/route/usePropertiesHook.tsx b/karavan-web/karavan-app/src/main/webui/src/designer/route/usePropertiesHook.tsx
index eba82bf2..87513b18 100644
--- a/karavan-web/karavan-app/src/main/webui/src/designer/route/usePropertiesHook.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/designer/route/usePropertiesHook.tsx
@@ -75,6 +75,7 @@ export function usePropertiesHook (isRouteDesigner: boolean = true) {
}
function onPropertyChange (fieldId: string, value: string | number | boolean | any, newRoute?: RouteToCreate){
+ value = value === '' ? undefined : value;
if (selectedStep) {
const clone = CamelUtil.cloneStep(selectedStep);
(clone as any)[fieldId] = value;
@@ -99,7 +100,8 @@ export function usePropertiesHook (isRouteDesigner: boolean = true) {
}
function onParametersChange (parameter: string, value: string | number | boolean | any, pathParameter?: boolean, newRoute?: RouteToCreate) {
- if (selectedStep && selectedStep) {
+ value = value === '' ? undefined : value;
+ if (selectedStep) {
const clone = (CamelUtil.cloneStep(selectedStep));
const parameters: any = {...(clone as any).parameters};
parameters[parameter] = value;