Comments (4)
Hi @rad765,
since the diagram component layers a div layer above an svg layer, where interaction with the svg layer is necessary for moving nodes, it is not possible to make nodes clickable by applying an onclick callback on the node component. However, it is possible by making the nodes' content clickable:
<RectangleNode Context="node">
<div @onclick="(_) => { clicked = node; }" style="pointer-events: all;">Node content</div>
</RectangleNode>
Note the pointer-events: all;
, which is required, because the node contents are in a div that generally doesn't receive any pointer events.
When you want nodes to be movable AND clickable, I recommend adding a margin to the node content.
<RectangleNode Context="node">
<div @onclick="(_) => { clicked = node; }" style="pointer-events: all; margin: 1em; background: darkgray;">Node content (movable. To move, grab the node outside the text area)</div>
</RectangleNode>
from blazor.diagrams.
Thank you. I don't realy want the nodes and links to be both clickable an movable, I rather think of two modes for the diagram, (1: "edit" mode where one can create new nodes and move around and draw links, and 2: a non Edit mode where the nodes are clickable.), I will play around with your suggestion, and see if it works.
That brings me to another question, what about JSON serializaion and deserialization of Nodes and Links so that the diagram can be saved and reloaded?
from blazor.diagrams.
I'm afraid there's no (de-)serialization feature in the library. You can use the events to listen to changes in the diagram. If you need a more first-class support for this I'm happy to look at a pull request, if you'd like to implement it.
from blazor.diagrams.
:-) I will take a look on it, to see if I'm able to do it. Thanks
from blazor.diagrams.
Related Issues (20)
- Creating custom link HOT 6
- Diagram Does Not Display HOT 3
- Property Hidden HOT 2
- Questions HOT 2
- Disabling Custom Links HOT 3
- NodeLibrary with Code generated Nodes HOT 7
- additional arrow styles? HOT 2
- Is it possible to disable the function that lets you click on an object and link it to another? HOT 5
- Diagram LinkModified LinkBase param doesnt provide correct positions on source and node HOT 5
- Capture Drag Event of Node causes render to fail HOT 5
- Is there a way to make lines not lap over nodes during auto layout HOT 2
- Auto Layout after render HOT 1
- Panning on mobile HOT 2
- Allow custom middle point and link direction of AngleLink component HOT 6
- Callback after graph is rendered? HOT 8
- Adding container element/nesting of nodes HOT 1
- AutoLayout HOT 6
- Auto-Center after ZoomToFit HOT 7
- Improve documentation about how to change size of nodes.
- Add the ability to prevent remove node or link
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 blazor.diagrams.