Comments (4)
Signal boosting. This is a must.
from flume.
Ah, yeah you've discovered a constraint here with how the editor is currently designed. Right now the editor goes through a reconciliation phase if the editor is loaded with existing nodes. That reconciliation phases goes through the supplied nodes and coerces them to match the schema of the node types and input types. It could potentially become a performance hit if the editor needed to re-run the reconciliation every time the provided nodes change from the parent component. For that reason and a few others, the node editor technically always runs in an "uncontrolled" way, and internally manages its own state. But you're right that this can lead to some unexpected behavior when you try to manually provide a new set of nodes.
Would it work for you if there was an imperative function exposed on the editor that would force the reconciliation to run and reset the the nodes? Something like:
const nodeEditor = React.useRef();
const setNewNodes = () => {
nodeEditor.setNodes({...newSetOfNodes})
}
return (
<div>
<button onClick={setNewNodes}>Set New Nodes</button>
<NodeEditor ref={nodeEditor} />
</div>
)
There may be a better way to handle this in the future to with some more advanced reconciliation of previous and current nodes, but would this work for your use case in the meantime?
from flume.
Yes, if I can get NodeEditor ref function to trigger an update manually, then I can control the updates that way.
p.s.: The connections bug was on the store side, NodeEditor now renders all connections ok, example on link updated.
from flume.
Is this a feature are are waiting on? or is there something we can use to dynamically add nodes?
from flume.
Related Issues (20)
- [Question] Vanilla JS usage ? HOT 2
- Type 'string' is not comparable to type 'NodeType' HOT 2
- Support for "any" datatype on ports
- Saving/loading of paths HOT 1
- I can't add nodetypes dynamic
- Clone of version v0.8.2 but version compatibility problem on installation HOT 1
- Bug: Cannot read properties of null (reading 'setAttribute')
- Connecting nodes to already connected input?
- Branching logic
- Getting and setting pan and zoom HOT 1
- Theming documentation missing closing backtick
- Animated connections
- How to actually extract context?
- Rendering custom components in nodes
- Flume for NEXT.js v14 HOT 3
- Support mobile? (ipad)
- Well done! HOT 1
- Inquiry on Project Maintenance Status for Flume HOT 3
- Custom node connectors
- Is it dead?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flume.