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/05 18:48:52 UTC

[camel-karavan] branch main updated: FIx

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 75c46e4c FIx
75c46e4c is described below

commit 75c46e4ce0167cc2eb7c56cac9b5de9a647da34a
Author: Marat Gubaidullin <ma...@talismancloud.io>
AuthorDate: Thu Oct 5 14:48:44 2023 -0400

    FIx
---
 karavan-designer/src/designer/rest/rest.css        |   5 +-
 karavan-web/docker/Dockerfile.devmode              |   2 +-
 .../src/main/webui/src/designer/KaravanStore.ts    | 252 ---------------------
 .../src/main/webui/src/designer/rest/rest.css      |   5 +-
 .../webui/src/designer/route/DslProperties.tsx     |   1 +
 .../webui/src/project/files/UploadFileModal.tsx    |   1 -
 .../webui/src/project/topology/TopologyTab.tsx     |   2 +-
 .../main/webui/src/project/topology/topology.css   |   6 +-
 8 files changed, 14 insertions(+), 260 deletions(-)

diff --git a/karavan-designer/src/designer/rest/rest.css b/karavan-designer/src/designer/rest/rest.css
index 25012e2d..3f1a53a5 100644
--- a/karavan-designer/src/designer/rest/rest.css
+++ b/karavan-designer/src/designer/rest/rest.css
@@ -185,6 +185,7 @@
     margin-left: 6px;
     cursor: pointer;
     justify-content: space-between;
+    position: relative;
 }
 
 .karavan .rest-designer .rest-config-card,
@@ -238,8 +239,8 @@
 .karavan .rest-designer .rest-card .delete-button,
 .karavan .rest-designer .method-card .delete-button {
     position: absolute;
-    top: 3px;
-    right: 3px;
+    top: -7px;
+    right: -7px;
     line-height: 1;
     border: 0;
     padding: 0;
diff --git a/karavan-web/docker/Dockerfile.devmode b/karavan-web/docker/Dockerfile.devmode
index 00f743d1..0ae6bf69 100644
--- a/karavan-web/docker/Dockerfile.devmode
+++ b/karavan-web/docker/Dockerfile.devmode
@@ -24,7 +24,7 @@ LABEL "org.opencontainers.image.version"="4.0.1"
 RUN apt-get update && apt-get install git && apt-get clean
 
 ENV JBANG_VERSION=0.110.0
-ENV CAMEL_VERSION=4.0.1
+ENV CAMEL_VERSION=4.0.0
 ENV KARAVAN="/karavan"
 ENV JBANG_DIR="$KARAVAN/.jbang"
 ENV MAVEN_CONFIG="$KARAVAN/.m2"
diff --git a/karavan-web/karavan-app/src/main/webui/src/designer/KaravanStore.ts b/karavan-web/karavan-app/src/main/webui/src/designer/KaravanStore.ts
deleted file mode 100644
index 15a9b7be..00000000
--- a/karavan-web/karavan-app/src/main/webui/src/designer/KaravanStore.ts
+++ /dev/null
@@ -1,252 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import {CamelElement, Integration} from "karavan-core/lib/model/IntegrationDefinition";
-import {DslPosition, EventBus} from "./utils/EventBus";
-import {createWithEqualityFn} from "zustand/traditional";
-import {shallow} from "zustand/shallow";
-
-interface IntegrationState {
-    integration: Integration;
-    json: string;
-    setIntegration: (integration: Integration, propertyOnly: boolean) => void;
-    propertyOnly: boolean;
-    reset: () => void;
-}
-
-export const useIntegrationStore = createWithEqualityFn<IntegrationState>((set) => ({
-    integration: Integration.createNew("demo", "plain"),
-    propertyOnly: false,
-    json: '{}',
-    setIntegration: (integration: Integration, propertyOnly: boolean) => {
-        set((state: IntegrationState) => {
-            const json = JSON.stringify(integration);
-            if (state.json === json) {
-                return {integration: state.integration, propertyOnly: state.propertyOnly, json: state.json};
-            } else {
-                EventBus.sendIntegrationUpdate(integration, propertyOnly);
-                return {integration: integration, propertyOnly: propertyOnly, json: json};
-            }
-        })
-    },
-    reset: () => {
-        set({integration: Integration.createNew("demo", "plain"), json: '{}', propertyOnly: false});
-    }
-}), shallow)
-
-
-interface SelectorStateState {
-    showSelector: boolean;
-    setShowSelector: (showSelector: boolean) => void;
-    showSteps: boolean;
-    setShowSteps: (showSteps: boolean) => void;
-    parentDsl?: string;
-    setParentDsl: (parentDsl?: string) => void;
-    parentId: string;
-    setParentId: (parentId: string) => void;
-    selectorTabIndex?: string | number
-    setSelectorTabIndex: (selectorTabIndex?: string | number) => void;
-    selectedPosition?: number;
-    setSelectedPosition: (selectedPosition?: number) => void;
-    selectedLabels: string [];
-    addSelectedLabel: (label: string) => void;
-    deleteSelectedLabel: (label: string) => void;
-    clearSelectedLabels: () => void;
-}
-
-export const useSelectorStore = createWithEqualityFn<SelectorStateState>((set) => ({
-    showSelector: false,
-    deleteMessage: '',
-    parentId: '',
-    showSteps: true,
-    selectedLabels: [],
-    addSelectedLabel: (label: string) => {
-        set(state => ({
-            selectedLabels: [...state.selectedLabels, label]
-        }))
-    },
-    deleteSelectedLabel: (label: string) => {
-        set(state => ({
-            selectedLabels: [...state.selectedLabels.filter(x => x !== label)]
-        }))
-    },
-    clearSelectedLabels: () => {
-        set((state: SelectorStateState) => {
-            state.selectedLabels.length = 0;
-            return state;
-        })
-    },
-    setSelectedLabels: (selectedLabels: string []) => {
-        set({selectedLabels: selectedLabels})
-    },
-    setSelectorTabIndex: (selectorTabIndex?: string | number) => {
-        set({selectorTabIndex: selectorTabIndex})
-    },
-    setParentDsl: (parentDsl?: string) => {
-        set({parentDsl: parentDsl})
-    },
-    setShowSelector: (showSelector: boolean) => {
-        set({showSelector: showSelector})
-    },
-    setShowSteps: (showSteps: boolean) => {
-        set({showSteps: showSteps})
-    },
-    setParentId: (parentId: string) => {
-        set({parentId: parentId})
-    },
-    setSelectedPosition: (selectedPosition?: number) => {
-        set({selectedPosition: selectedPosition})
-    },
-}), shallow)
-
-
-interface ConnectionsState {
-    steps: Map<string, DslPosition>;
-    addStep: (uuid: string, position: DslPosition) => void;
-    deleteStep: (uuid: string) => void;
-    clearSteps: () => void;
-    setSteps: (steps: Map<string, DslPosition>) => void;
-}
-
-export const useConnectionsStore = createWithEqualityFn<ConnectionsState>((set) => ({
-    steps: new Map<string, DslPosition>(),
-    addStep: (uuid: string, position: DslPosition) => {
-        set(state => ({
-            steps: new Map(state.steps).set(uuid, position),
-        }))
-    },
-    deleteStep: (uuid: string) => {
-        set((state: ConnectionsState) => {
-            // state.steps.clear();
-            Array.from(state.steps.entries())
-                .filter(value => value[1]?.parent?.uuid !== uuid)
-                .forEach(value => state.steps.set(value[0], value[1]));
-            state.steps.delete(uuid)
-            return state;
-        })
-    },
-    clearSteps: () => {
-        set((state: ConnectionsState) => {
-            state.steps.clear();
-            return state;
-        })
-    },
-    setSteps: (steps: Map<string, DslPosition>) => {
-        set({steps: steps})
-    },
-}), shallow)
-
-type DesignerState = {
-    dark: boolean;
-    notificationBadge: boolean;
-    notificationMessage: [string, string];
-    hideLogDSL: boolean;
-    shiftKeyPressed: boolean;
-    showDeleteConfirmation: boolean;
-    showMoveConfirmation: boolean;
-    deleteMessage: string;
-    selectedStep?: CamelElement;
-    selectedUuids: string[];
-    clipboardSteps: CamelElement[];
-    width: number,
-    height: number,
-    top: number,
-    left: number,
-}
-const designerState: DesignerState = {
-    notificationBadge: false,
-    notificationMessage: ['', ''],
-    dark: false,
-    hideLogDSL: false,
-    shiftKeyPressed: false,
-    showDeleteConfirmation: false,
-    showMoveConfirmation: false,
-    deleteMessage: '',
-    selectedUuids: [],
-    clipboardSteps: [],
-    width: 0,
-    height: 0,
-    top: 0,
-    left: 0,
-};
-
-type DesignerAction = {
-    setDark: (dark: boolean) => void;
-    setHideLogDSL: (hideLogDSL: boolean) => void;
-    setShiftKeyPressed: (shiftKeyPressed: boolean) => void;
-    setShowDeleteConfirmation: (showDeleteConfirmation: boolean) => void;
-    setShowMoveConfirmation: (showMoveConfirmation: boolean) => void;
-    setDeleteMessage: (deleteMessage: string) => void;
-    setSelectedStep: (selectedStep?: CamelElement) => void;
-    setSelectedUuids: (selectedUuids: string[]) => void;
-    setClipboardSteps: (clipboardSteps: CamelElement[]) => void;
-    setPosition: (width: number, height: number, top: number, left: number) => void;
-    reset: () => void;
-    setNotification: (notificationBadge: boolean, notificationMessage: [string, string]) => void;
-}
-
-export const useDesignerStore = createWithEqualityFn<DesignerState & DesignerAction>((set) => ({
-    ...designerState,
-    setDark: (dark: boolean) => {
-        set({dark: dark})
-    },
-    setHideLogDSL: (hideLogDSL: boolean) => {
-        set({hideLogDSL: hideLogDSL})
-    },
-    setShiftKeyPressed: (shiftKeyPressed: boolean) => {
-        set({shiftKeyPressed: shiftKeyPressed})
-    },
-    setSelectedStep: (selectedStep?: CamelElement) => {
-        set({selectedStep: selectedStep})
-    },
-    setShowDeleteConfirmation: (showDeleteConfirmation: boolean) => {
-        set({showDeleteConfirmation: showDeleteConfirmation})
-    },
-    setShowMoveConfirmation: (showMoveConfirmation: boolean) => {
-        set({showMoveConfirmation: showMoveConfirmation})
-    },
-    setDeleteMessage: (deleteMessage: string) => {
-        set({deleteMessage: deleteMessage})
-    },
-    setSelectedUuids: (selectedUuids: string[]) => {
-        set((state: DesignerState) => {
-            state.selectedUuids.length = 0;
-            state.selectedUuids.push(...selectedUuids);
-            return state;
-        })
-    },
-    setClipboardSteps: (clipboardSteps: CamelElement[]) => {
-        set((state: DesignerState) => {
-            state.clipboardSteps.length = 0;
-            state.clipboardSteps.push(...clipboardSteps);
-            return state;
-        })
-    },
-    width: 100,
-    height: 100,
-    top: 0,
-    left: 0,
-    setPosition: (width: number, height: number, top: number, left: number) => {
-        set({width: width, height: height, top: top, left: left})
-    },
-    reset: () => {
-        set(designerState);
-    },
-    setNotification: (notificationBadge: boolean, notificationMessage: [string, string]) => {
-        set({notificationBadge: notificationBadge, notificationMessage: notificationMessage})
-    }
-}), shallow)
\ No newline at end of file
diff --git a/karavan-web/karavan-app/src/main/webui/src/designer/rest/rest.css b/karavan-web/karavan-app/src/main/webui/src/designer/rest/rest.css
index 25012e2d..3f1a53a5 100644
--- a/karavan-web/karavan-app/src/main/webui/src/designer/rest/rest.css
+++ b/karavan-web/karavan-app/src/main/webui/src/designer/rest/rest.css
@@ -185,6 +185,7 @@
     margin-left: 6px;
     cursor: pointer;
     justify-content: space-between;
+    position: relative;
 }
 
 .karavan .rest-designer .rest-config-card,
@@ -238,8 +239,8 @@
 .karavan .rest-designer .rest-card .delete-button,
 .karavan .rest-designer .method-card .delete-button {
     position: absolute;
-    top: 3px;
-    right: 3px;
+    top: -7px;
+    right: -7px;
     line-height: 1;
     border: 0;
     padding: 0;
diff --git a/karavan-web/karavan-app/src/main/webui/src/designer/route/DslProperties.tsx b/karavan-web/karavan-app/src/main/webui/src/designer/route/DslProperties.tsx
index 82fd3dd9..d0635d26 100644
--- a/karavan-web/karavan-app/src/main/webui/src/designer/route/DslProperties.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/designer/route/DslProperties.tsx
@@ -127,6 +127,7 @@ export function DslProperties(props: Props) {
         : 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"));
+    console.log(selectedStep)
     return (
         <div key={selectedStep ? selectedStep.uuid : 'integration'}
              className='properties'>
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/files/UploadFileModal.tsx b/karavan-web/karavan-app/src/main/webui/src/project/files/UploadFileModal.tsx
index 9c43b822..dfe1a198 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/files/UploadFileModal.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/files/UploadFileModal.tsx
@@ -56,7 +56,6 @@ export function UploadFileModal(props: Props) {
 
     function saveAndCloseModal () {
         const file = new ProjectFile(filename, props.projectId, data, Date.now());
-        console.log(file);
         if (type === "openapi"){
             KaravanApi.postOpenApi(file, generateRest, generateRoutes, integrationName, res => {
                 if (res.status === 200) {
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/topology/TopologyTab.tsx b/karavan-web/karavan-app/src/main/webui/src/project/topology/TopologyTab.tsx
index 4baa0117..22e9dbc4 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/topology/TopologyTab.tsx
+++ b/karavan-web/karavan-app/src/main/webui/src/project/topology/TopologyTab.tsx
@@ -34,8 +34,8 @@ import {useFilesStore} from "../../api/ProjectStore";
 import {shallow} from "zustand/shallow";
 import {useTopologyStore} from "./TopologyStore";
 import {TopologyPropertiesPanel} from "./TopologyPropertiesPanel";
-import {useDesignerStore} from "../../designer/KaravanStore";
 import {TopologyToolbar} from "./TopologyToolbar";
+import {useDesignerStore} from "../../designer/DesignerStore";
 
 export const TopologyTab: React.FC = () => {
 
diff --git a/karavan-web/karavan-app/src/main/webui/src/project/topology/topology.css b/karavan-web/karavan-app/src/main/webui/src/project/topology/topology.css
index 98303ef9..bfd345b7 100644
--- a/karavan-web/karavan-app/src/main/webui/src/project/topology/topology.css
+++ b/karavan-web/karavan-app/src/main/webui/src/project/topology/topology.css
@@ -23,6 +23,11 @@
     width: 100%
 }
 
+.karavan .topology-panel .properties {
+    padding: 16px;
+    overflow: auto;
+}
+
 .karavan .topology-panel .properties-header {
     padding: 10px;
 }
@@ -41,7 +46,6 @@
 }
 
 .karavan .topology-sidebar {
-    overflow: hidden;
 }
 
 .karavan .topology-sidebar .pf-topology-side-bar__dismiss {