Adds drag-to-resize support to all four edges and both bottom corners of a viewbox, alongside the existing bottom-right corner handle, plus test coverage for the new handles and the underlying resize math.
Viewboxes could previously only be resized from a single corner. This extends that to give users full control over a viewbox's footprint - width from either side, height from the bottom, and combined width+height from either bottom corner.
Changes
New resize handles: right-edge, left-edge, bottom-edge, and bottom-left-corner handles added alongside the existing bottom-right corner handle, each driven by plain pointer events rather than Angular CDK drag directives.
Left-edge-aware resizing: handles that move the box's own left edge (left, bottom-left-corner) derive width/position from raw pointer coordinates rather than the handle element's own rect, keeping the calculation independent of the box's own live transform.
Z-index fix: raised resize handles above Handsontable's internal frozen row/column-header overlay layers, so clicks on a handle near the table's edge reach the handle instead of the table underneath it.
Cypress coverage: added end-to-end tests for all five resize handles (corner, right, bottom-left-corner, left, bottom), verifying both the dimension that should change and the one that should stay fixed.
Unit test coverage: new spec file for ViewboxesComponent covering the resize math, handle-transform positioning, and pointer-event drag handlers in isolation.
# Summary
Adds drag-to-resize support to all four edges and both bottom corners of a viewbox, alongside the existing bottom-right corner handle, plus test coverage for the new handles and the underlying resize math.
# Issue
Closes #190
# Intent
Viewboxes could previously only be resized from a single corner. This extends that to give users full control over a viewbox's footprint - width from either side, height from the bottom, and combined width+height from either bottom corner.
# Changes
- **New resize handles**: right-edge, left-edge, bottom-edge, and bottom-left-corner handles added alongside the existing bottom-right corner handle, each driven by plain pointer events rather than Angular CDK drag directives.
- **Left-edge-aware resizing**: handles that move the box's own left edge (left, bottom-left-corner) derive width/position from raw pointer coordinates rather than the handle element's own rect, keeping the calculation independent of the box's own live transform.
- **Z-index fix**: raised resize handles above Handsontable's internal frozen row/column-header overlay layers, so clicks on a handle near the table's edge reach the handle instead of the table underneath it.
- **Cypress coverage**: added end-to-end tests for all five resize handles (corner, right, bottom-left-corner, left, bottom), verifying both the dimension that should change and the one that should stay fixed.
- **Unit test coverage**: new spec file for `ViewboxesComponent` covering the resize math, handle-transform positioning, and pointer-event drag handlers in isolation.
Adds right, left, bottom, and bottom-left-corner resize handles
alongside the existing bottom-right corner, and raises resize handle
z-index above Handsontable's frozen header clones so clicks reach the
handle instead of the table underneath it.
@sasjs/cli's own nanoid override doesn't propagate to consumers - npm
only reads overrides from the root project being installed. Adding it
here directly, rather than a raw lockfile patch, so it survives future
npm install runs instead of silently reverting again.
Yury
marked the pull request as ready for review 2026-08-11 07:23:31 +00:00
allan
merged commit fabb9e5bfd into version7-132026-08-11 08:08:10 +00:00
allan
deleted branch issue-1902026-08-11 08:08:10 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Adds drag-to-resize support to all four edges and both bottom corners of a viewbox, alongside the existing bottom-right corner handle, plus test coverage for the new handles and the underlying resize math.
Issue
Closes #190
Intent
Viewboxes could previously only be resized from a single corner. This extends that to give users full control over a viewbox's footprint - width from either side, height from the bottom, and combined width+height from either bottom corner.
Changes
ViewboxesComponentcovering the resize math, handle-transform positioning, and pointer-event drag handlers in isolation.