Graphin icon indicating copy to clipboard operation
Graphin copied to clipboard

Graphin style InnerLayout of ComboCombined layout breaks

Open dukesun99 opened this issue 2 years ago • 2 comments

Describe the bug

When defining the innerLayout config of ComboCombined layout in graphin way, e.g.

const layoutWrong = {
  type: "comboCombined",
  innerLayout: {
    type: "dagre"
  }
};

It will result in a TypeError innerGraphLayout.layout is not a function. Changing it to using G6 way of defining layout solve the issue:

const layoutCorrect = {
  type: "comboCombined",
  innerLayout: new G6.Layout["dagre"]()
};

Your Example Website or App

https://codesandbox.io/s/hardcore-bell-fbebob?file=/App.tsx:1993-2084

Steps to Reproduce the Bug or Issue

  1. Run the demo, and see the error
  2. Modify the layout={layoutWrong} to layout={layoutCorrect}, you will see it works

Expected behavior

I would expect the innerLayout also can be defined in the Graphin way.

Screenshots or Videos

No response

Platform

  • OS: Windows
  • Browser: Chrome
  • Version: 2.5.2

Additional context

No response

dukesun99 avatar Apr 04 '22 15:04 dukesun99

I could figure out which part of the code to modify to make it work, however, I cannot modify it neatly, since some processing is required for force layouts, and seems some refactoring is needed. So maybe someone pls have a look.

Before supplying this.options to this line, innerLayout need to go through the same process to build an object.

dukesun99 avatar Apr 04 '22 16:04 dukesun99

@dukesun99 Thanks for finding this, we'll deal with it later

pomelo-nwu avatar Apr 18 '22 00:04 pomelo-nwu