From 25cd6bd8782ca3db8b0f88fe27468cfbcf231bea Mon Sep 17 00:00:00 2001
From: Robin Leber <rleber98@gmail.com>
Date: Wed, 26 Jun 2024 19:02:55 +0200
Subject: [PATCH] FIX: multiple editor managing

---
 src/functions/codeEditor.js | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/src/functions/codeEditor.js b/src/functions/codeEditor.js
index ff2082a..d175a49 100644
--- a/src/functions/codeEditor.js
+++ b/src/functions/codeEditor.js
@@ -10,18 +10,13 @@ let editorValues = {
   extensions: [basicSetup, javascript()],
 };
 
-let editorStartState = EditorState.create(editorValues);
-const editor = new EditorView({
-  state: editorStartState,
-});
-
 export const codeEditorElement = (instance) => {
   if (document.getElementById(`codeEditor${window.selectedFilter}`)) {
     const codeEditor = document.getElementById(
       `codeEditor${window.selectedFilter}`
     );
     codeEditor.style.visibility = "visible";
-    handlePipeBinding(getPipesForFilter(instance), editor);
+    handlePipeBinding(getPipesForFilter(instance), codeEditor.editor);
   } else {
     var diagram = document.getElementById("Diagram");
 
@@ -93,8 +88,15 @@ export const codeEditorElement = (instance) => {
     closingX.addEventListener("click", () => handleCancel(editorContainer));
     editorContainer.appendChild(closingX);
 
-    handlePipeBinding(getPipesForFilter(instance), editor);
-    editorContainer.appendChild(editor.dom);
+    let editorStartState = EditorState.create(editorValues);
+    const editor = new EditorView({
+      state: editorStartState,
+      parent: editorContainer,
+    });
+    editorContainer.editor = editor;
+
+    // editorContainer.appendChild(editor.dom);
+    handlePipeBinding(getPipesForFilter(instance), editorContainer.editor);
 
     var buttonContainer = document.createElement("div");
     buttonContainer.classList.add("codeEditorButtons");
-- 
GitLab