diff --git a/src/functions/codeEditor.js b/src/functions/codeEditor.js index ef17bbbac99059822a8816e47e69a9f787b16071..6b9df980a15073def5b8cb8aa6fe8b3faf18a6d4 100644 --- a/src/functions/codeEditor.js +++ b/src/functions/codeEditor.js @@ -21,7 +21,7 @@ export const codeEditorElement = (instance) => { `codeEditor${window.selectedFilter}` ); codeEditor.style.visibility = "visible"; - handlePipeBinding(getPipesForFilter(), editor); + handlePipeBinding(getPipesForFilter(instance), editor); } else { var diagram = document.getElementById("Diagram"); @@ -56,7 +56,7 @@ export const codeEditorElement = (instance) => { closingX.addEventListener("click", () => handleCancel(editorContainer)); editorContainer.appendChild(closingX); - handlePipeBinding(getPipesForFilter(), editor); + handlePipeBinding(getPipesForFilter(instance), editor); editorContainer.appendChild(editor.dom); var buttonContainer = document.createElement("div"); diff --git a/src/functions/pipeBinding.js b/src/functions/pipeBinding.js index db0ee88e81fcad4d9911dd6bb5d65da9f0ca93ac..2abb677d942db3c2e58f29719d4d5199441e8f63 100644 --- a/src/functions/pipeBinding.js +++ b/src/functions/pipeBinding.js @@ -1,13 +1,33 @@ import { appState } from "./state"; import { showCheck } from "./visualValidation"; -export const getPipesForFilter = () => { +export const getPipesForFilter = (instance) => { const filter = window.selectedFilter; - const connections = appState.getConnection(filter); + const allConnections = instance.getAllConnections(); + + const incomingConnections = allConnections + .filter((connection) => connection.targetId === filter) + .map((connection) => ({ + pipeId: connection.sourceId, + pipeType: + connection.source.dataset.type === "Default" ? "Queue" : "Topic", + })); + const outgoingConnections = allConnections + .filter((connection) => connection.sourceId === filter) + .map((connection) => ({ + pipeId: connection.targetId, + pipeType: + connection.target.dataset.type === "Default" ? "Queue" : "Topic", + })); + + const connectionsForFilter = incomingConnections.concat(outgoingConnections); + + // buildPipesElements(); + const pipeMapping = []; let defaultCount = 1; - connections && - connections.forEach((connection) => { + connectionsForFilter && + connectionsForFilter.forEach((connection) => { const pipeName = appState.getPipe(connection.pipeId); if (!pipeName) { const pipeName = `Default${defaultCount}`; @@ -99,3 +119,8 @@ const makeValidConstName = (str) => { return validStr; }; + +const buildPipesElements = (incoming, outgoing) => { + console.log("### in: ", incoming); + console.log("### out: ", outgoing); +};