Skip to content

Comments

Move the GraphVisualization wrapper#275

Merged
FlorentinD merged 53 commits intoneo4j:mainfrom
OskarDamkjaer:react-viz
Feb 20, 2026
Merged

Move the GraphVisualization wrapper#275
FlorentinD merged 53 commits intoneo4j:mainfrom
OskarDamkjaer:react-viz

Conversation

@OskarDamkjaer
Copy link
Contributor

@OskarDamkjaer OskarDamkjaer commented Feb 12, 2026

I found that using anywidget makes the interaction with React /javascript much cleaner and less hacky. To avoid breaking the public API, render is still there return  creating HTML, which i implemented by creating a tiny anywidget wrapper in plain html

I also added a new render_widget is there as a new alternative for 2 way data binding with the visualisation, as well as a GraphWidget export.

The PR is quite large 😅 and I've annotated best I can where I'm uncertain.

There's some open questions that'd be good to discuss:

  • The default anywidget builds just use one folder (instead python-wrapper & js-applet) It seem cleaner & simpler to me, but it was a bigger change than what I wanted to do without discussing it first
  • It also uses tooling to rebuild the js parts, to avoid commiting the built assets. Are we interested in doing that?
  • How do we do with documentation of the new widget? Could it even make sense to do a major version and break the API? Or maybe we leave it as a separate entrypoint until it's "proven itself"?
  • I'd love to get some reality checks some of the changes to python/integrations with other data sources. Some guidance/chats on how I best test manually/automatically would be good
  • Is there a good way I can test out how this change would work in production/in a deployed mode, so I can verify I don't make unintended breaking changes?
  • I don't see the integration tests running on PR, why not?

@OskarDamkjaer OskarDamkjaer marked this pull request as ready for review February 12, 2026 15:35
@OskarDamkjaer OskarDamkjaer requested a review from a team as a code owner February 12, 2026 15:35
@OskarDamkjaer OskarDamkjaer changed the title [wip] Move the GraphVisualization wrapper Move the GraphVisualization wrapper Feb 12, 2026
Copy link
Collaborator

@FlorentinD FlorentinD left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your PR!

I think we can reduce the breaking changes a bit.
Couple of suggestions and questions. For the python parts, I can also try to apply some of them.

I would also put a link to https://storybook-components-build.appspot.com/?path=/story/components-graph-visualization--default for reference in the graph-widget.tsx file.

I think before merging the PR, we should change:

[x] default coloring changed (fixable by setting the color in python if not set initially)
[x] Zoom in/out button missing (fixable) -- EDIT: i just didnt see the buttons
[x] Fix hierarchical layout
[x] Set correct caption on the node

On the zoom in/out, i dont get yet why the storybook example has the buttons but its not referenced in the code

OskarDamkjaer and others added 3 commits February 16, 2026 15:58
Co-authored-by: Florentin Dörre <florentin@owitsch.de>
updating notebook outputs as well. and documenting new default coloring + how to switch back.

for nodes_2025_demo.ipynb made the movies dataset setup also inlined
@FlorentinD FlorentinD merged commit a918383 into neo4j:main Feb 20, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants