Skip to content

Connections misaligned after editor.import() when customizing node outputs #938

Description

@k22kevalam-jenisha

Hi, I’m customizing node outputs in Drawflow based on dynamic buttons.
I reposition the .output anchors inside the node to align with my custom button list.

When I first load the editor and add nodes manually, everything works fine.
But when I import saved JSON using editor.import(exportedData) and rebuild node HTML, the connections do not align with the outputs.

The connections only align correctly after I drag the node once.
It seems that Drawflow does not recalculate connection positions after node HTML is modified following import().

code:

editor.import(json);

Object.keys(editor.drawflow.drawflow.Home.data).forEach(id => {
  let node = editor.getNodeFromId(id);

  // rebuild node HTML
  let html = createNodeHTML(node.name, id);

  let nodeEl = document.querySelector(`#node-${id} .drawflow_content_node`);
  if (nodeEl) {
    nodeEl.innerHTML = html;

    // reposition outputs based on buttons
    let outputs = nodeEl.querySelectorAll(".output");
    let buttons = nodeEl.querySelectorAll(".interactive_btn");
    buttons.forEach((btn, i) => {
      outputs[i].style.top = `${btn.offsetTop + btn.offsetHeight / 2}px`;
    });
  }
});

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions