fix
diff --git a/karavan-app/src/main/webui/src/editor/CodeEditor.tsx b/karavan-app/src/main/webui/src/editor/CodeEditor.tsx
index 3ff9d5b..7e5e007 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 {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 @@
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 0c32809..3aef90a 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 @@
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