You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a result, applications pay a bundle size cost for a feature they may not use.
Describe the solution you'd like
Explore a way to remove the direct dependency between EdgeHandler and EdgeStyle.EntityRelation.
One possible solution to explore:
Introduce new metadata when registering an edgeStyle.
This metadata could be used by EdgeHandler to determine whether it needs to apply the special processing that is currently hardcoded for EntityRelation.
Decouple EdgeHandler from specific edge style implementations.
Improve tree shaking.
Avoid bundling EntityRelation when it is not used.
In addition, this will allow for the same treatment of applications that provide an alternative implementation to EntityRelation or other EdgeStyle, if necessary. This will provide greater flexibility and possibilities.
Describe alternatives you've considered
Keeping the current direct dependency, but this continues to limit tree shaking.
Moving logic elsewhere without metadata, but this risks reintroducing implicit coupling.
Additional context
This request is directly related to bundle size optimization and long term maintainability.
It also aligns with previous efforts to make connectors and edge styles more modular and tree-shaking friendly.
Is your feature request related to a problem? Please describe.
EdgeStyle.EntityRelationis currently a direct dependency insideEdgeHandler.This creates a strong coupling in the codebase:
EntityRelationis not used, it is still bundled in the final application.Graph.createEdgeHandlerandGraph.isOrthogonalconfigurable and independent from EdgeStyle implementation #767.As a result, applications pay a bundle size cost for a feature they may not use.
Describe the solution you'd like
Explore a way to remove the direct dependency between
EdgeHandlerandEdgeStyle.EntityRelation.One possible solution to explore:
edgeStyle.EdgeHandlerto determine whether it needs to apply the special processing that is currently hardcoded forEntityRelation.The goal is to:
EdgeHandlerfrom specific edge style implementations.EntityRelationwhen it is not used.In addition, this will allow for the same treatment of applications that provide an alternative implementation to EntityRelation or other EdgeStyle, if necessary. This will provide greater flexibility and possibilities.
Describe alternatives you've considered
Additional context
This request is directly related to bundle size optimization and long term maintainability.
It also aligns with previous efforts to make connectors and edge styles more modular and tree-shaking friendly.