fix: Factor out workspace drag methods into utils. #8566
Merged
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.
The basics
The details
Resolves
Fixes #7926
Proposed Changes
This PR transfers the logic from
WorkspaceSvg
methodsstartDrag
andmoveDrag
into a new utils file. It further factors out some shared coordinate math into a private function. It removes the private propertydragDeltaXY
fromWorkspaceSvg
(is this a breaking change?) and replaces it with an internal map from workspace to delta.Reason for Changes
This feature is used by block comments and workspace comments, but is not generally used by workspace objects and thus is not really appropriate for
WorkspaceSvg
.Test Coverage
Manually dragging and resizing comments seems to work as expected. I don't believe any existing tests directly call these methods on a workspace, maybe some do indirectly, but FWIW all existing tests pass.
Documentation
N/A
Additional Information
Is removing a private property considered a breaking change?