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 501582d4 fix
501582d4 is described below

commit 501582d4e1c85d868aaaa26bfcae2f04f3ec9e96
Author: Marat Gubaidullin <ma...@talismancloud.io>
AuthorDate: Wed May 8 12:15:59 2024 -0400

    fix
---
 karavan-app/src/main/webui/src/editor/CodeEditor.tsx | 10 +++-------
 karavan-app/src/main/webui/src/util/StringUtils.ts   |  9 +++++++++
 2 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/karavan-app/src/main/webui/src/editor/CodeEditor.tsx 
b/karavan-app/src/main/webui/src/editor/CodeEditor.tsx
index 3ff9d5ba..7e5e007a 100644
--- a/karavan-app/src/main/webui/src/editor/CodeEditor.tsx
+++ b/karavan-app/src/main/webui/src/editor/CodeEditor.tsx
@@ -21,19 +21,15 @@ import {useFileStore} from "../api/ProjectStore";
 import {ProjectService} from "../api/ProjectService";
 import {shallow} from "zustand/shallow";
 
-interface Props {
-    projectId: string
-}
-
 const languages = new Map<string, string>([
     ['sh', 'shell'],
     ['md', 'markdown'],
     ['properties', 'ini']
 ])
 
-export function CodeEditor(props: Props) {
+export function CodeEditor() {
 
-    const [file, designerTab, setFile] = useFileStore((s) => [s.file, 
s.designerTab, s.setFile], shallow)
+    const [file] = useFileStore((s) => [s.file], shallow)
     const [code, setCode] = useState<string>();
 
     useEffect(() => setCode(file?.code), []);
@@ -41,7 +37,7 @@ export function CodeEditor(props: Props) {
     useEffect(() => {
         const interval = setInterval(() => {
             saveCode();
-        }, 3000);
+        }, 700);
         return () => {
             clearInterval(interval);
             saveCode();
diff --git a/karavan-app/src/main/webui/src/util/StringUtils.ts 
b/karavan-app/src/main/webui/src/util/StringUtils.ts
index 0c32809b..3aef90ab 100644
--- a/karavan-app/src/main/webui/src/util/StringUtils.ts
+++ b/karavan-app/src/main/webui/src/util/StringUtils.ts
@@ -11,3 +11,12 @@ export function isValidProjectId(input: string): boolean {
     const pattern = /^[a-z][a-z0-9-]*$/;
     return pattern.test(input);
 }
+
+export function splitByBraces(input: string): string[] {
+    const regex = /{[^{}]*}|[^{}]+/g;
+    return input.match(regex) ?? [];
+}
+
+export function getPathParams(input: string): string[] {
+    return splitByBraces(input).filter(p => p.startsWith('{')).map(p => 
p.replace('{', '').replace('}', ''));
+}
\ No newline at end of file

Reply via email to