Closed zHaytam closed 3 years ago
A couple of extra points I'm still thinking about:
Hello, I really like your component. The usage I intend to do with it in the future is very close to the visual programming software called grasshopper (you can find a tutorial here https://youtu.be/XHqiD-qXGA0 . It is all about connecting nodes together. Thanks
.NET 5 is very important
I am not sure what you mean by JS/CSS isolation
Managing the location of ports would be nice. IOW, say that a newly added port could be an input port (left side of the object) and or an output port (right side of the object) would be very helpful. This is important for workflow and implied directionality. Not sure if this already exists, but it is very useful.
Hello @MichaelLant, I have received a message from you in another repo but it seems it got deleted?
Thanks @zHaytam for the info.
What do you mean by CSS/JS isolation?
My key criteria for selecting a diagramming tool are:
Blazor - obviously Minimial JS/CSS Ability to style components and create customer renders Contain elements within elements. This could be as simple as the entitites in an ERD: Table with its prescribed columns (represented as rows in the diagram element) and then the properties of each column that are exposed in an editor. Ability to constrain link types, for example a column definition can only connect to a table, but not the individual columns. Easy access to the underlying model of the diagram so that the layout definition can be mapped to data for processing I have a bunch of other requirements, but those are the key ones.
I will be looking at Blazor.Diagrams over the weekend.
Thank you for you help with sorting out the other problems I encountered.
Michael
Is it okay if I post it again?
Just to answer you, all the requirements you need are available in Z.Blazor.Diagrams. It will surely get much better in 2.0.0, but it's still possible to do all of that with the current version.
What I mean by CSS/JS Isolation is what got added in Blazor (.NET 5). It can make a lot of things much easier and cleaner, especially the JS modules part.
Read more here:
Hi Haytam,
I am fine if you repost it.
I am sorry for the confusion. I am looking at both diagraming components and I got the Git projects mixed up with the posts.
Michael
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10
From: Haytam Zanid notifications@github.com Sent: Saturday, January 30, 2021 5:03:58 AM To: zHaytam/Blazor.Diagrams Blazor.Diagrams@noreply.github.com Cc: Michael Lant mlant@sphere-data.com; Mention mention@noreply.github.com Subject: Re: [zHaytam/Blazor.Diagrams] [DISCUSSION] Version 2.0.0 (#75)
Hello @MichaelLanthttps://github.com/MichaelLant, I have received a message from you in another repo but it seems it got deleted?
Thanks @zHaytamhttps://github.com/zHaytam for the info.
What do you mean by CSS/JS isolation?
My key criteria for selecting a diagramming tool are:
Blazor - obviously Minimial JS/CSS Ability to style components and create customer renders Contain elements within elements. This could be as simple as the entitites in an ERD: Table with its prescribed columns (represented as rows in the diagram element) and then the properties of each column that are exposed in an editor. Ability to constrain link types, for example a column definition can only connect to a table, but not the individual columns. Easy access to the underlying model of the diagram so that the layout definition can be mapped to data for processing I have a bunch of other requirements, but those are the key ones.
I will be looking at Blazor.Diagrams over the weekend.
Thank you for you help with sorting out the other problems I encountered.
Michael
Is it okay if I post it again?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/zHaytam/Blazor.Diagrams/issues/75#issuecomment-770187321, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAFIKXXZWWILOIZZWJKVAJLS4PKQ5ANCNFSM4WWCH2AA.
Thanks for the info. I was unaware of the .css isolation in Blazor. Still so much to learn.
Do you have a planned release date for 2.0?
Michael
Sent from Mailhttps://go.microsoft.com/fwlink/?LinkId=550986 for Windows 10
From: Haytam Zanid notifications@github.com Sent: Saturday, January 30, 2021 5:10:15 AM To: zHaytam/Blazor.Diagrams Blazor.Diagrams@noreply.github.com Cc: Michael Lant mlant@sphere-data.com; Mention mention@noreply.github.com Subject: Re: [zHaytam/Blazor.Diagrams] [DISCUSSION] Version 2.0.0 (#75)
Just to answer you, all the requirements you need are available in Z.Blazor.Diagrams. It will surely get much better in 2.0.0, but it's still possible to do all of that with the current version.
What I mean by CSS/JS Isolation is what got added in Blazor (.NET 5). It can make a lot of things much easier and cleaner, especially the JS modules part.
Read more here:
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/zHaytam/Blazor.Diagrams/issues/75#issuecomment-770188006, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAFIKXSKRJZL5YMQLHBHPNDS4PLINANCNFSM4WWCH2AA.
No problem haha!
Do you have a planned release date for 2.0?
I'm still thinking about the needed changes, so right now no. Will add a date once I have everything thought of.
Changes done so far:
DiagramManager.Nodes
and DiagramManager.Links
)LinkAttached
event removed (TargetPortChanged
is the alternative)DiagramManager.Nodes.Added
etc)GroupUngrouped
event (not the greatest name :smile:)RemoveGroup
method to remove group and all its membersSelectionChanged
event only contains the model now, use Selected propertySelectedModels
in favor of GetSelectedModels()
, this is because we don't hold a list of selected models anymore (unecessary)Starting with all the breaking changes first, then enhancements/new functionalities. There will be a guilde on how to upgrade to 2.0.0 from older versions.
Please add import/export layout to JSON (or xml)
Please add import/export layout to JSON (or xml)
For sure. There will be new methods for (de)serializing everything in the library. You can choose to/from what (json or xml or something else).
Serialization is a very good feature. I actually find myself in the situation where I need to clone nodes, in order to preserve state when editing the various properties, that would help quite a lot.
More work done:
DiagramSubManager
to Behavior
, it makes more senseRegisterBehavior
now takes as an argument the behavior instance to add. No need to use Activator.CreateInstane for something like this, it just slows things downLinkType
enumDefaultLinkType
link optionDefaultLinkModel
link opptionI just uploaded to NuGet a new Release Candidate!
Alongside all the mentioned changes, here are the new important ones:
If any of you have the time, feel free to test the prerelease and tell me your thoughts!
Hello,
I have been thinking a lot about the future of the library and what path to take to ensure that the users get the best experience. It is time to start moving away from react-diagrams as the only inspiration and move forward.
My next plan is to rework some parts of the library and add some much needed functionalities to make Z.Blazor.Diagrams a usable library in many use cases. Here's what I'm planning:
I'm not sure how many actual users do we have, but seing all these changes that will be made, this version will have a lot of breaking changes, and that's why it's a major version.
Any feedback is very welcome!