Show every depth level of dependency graph and improve readability #329
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Current Behavior:
A project's dependency graph can only be expanded up to its third level, which makes it hardly usable and the size of the elements inside the graph makes it unnecessarily big and harder to read/navigate.
Also, the data for every node is requested at the same time, which can lead to huge traffic in projects with many dependencies.
Proposed Behavior:
The dependency graph of a project can be fully expanded to search for every dependency and only the necessary data for the expanding node is lazily loaded to reduce the amount of traffic. Every path in the graph is also checked for circular references and prevents displaying them.
The size of the buttons, the nodes, the font and other elements is reduced to improve the readability for bigger dependency graphs.
Addressed Issue
#85
Additional Details
A PR will follow, that attaches a
Show in dependency graph
button to a component in different views, which redirects a user to the project's dependency graph and then expands the path to every occurrence of the selected component.Checklist
This PR introduces new or alters existing behavior, and I have updated the documentation accordingly