When in app mode, widgets can be drawn with size different from the size
of the parent node. Mouse events on legacy canvas widgets require that
the client code query the current state of the node and widget to
determine if any elements are being interacted with. This PR sets the
`widget.width` property when a legacy canvas widget draw operation
occurs so that custom nodes can properly resolve subsequent mouse
events.
At current, no core nodes exist that utilize legacy widgets. As a result
the setup code to test this bug fix is slightly involved.
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-11574-Fix-legacy-widget-width-in-app-mode-34b6d73d365081caaa34c6204f8361f6)
by [Unito](https://www.unito.io)
Add new numberControlWidget.spec.ts with tests covering GraphCanvas.vue
lines 355-366 (0% coverage). Tests verify control widget labels update
when toggling between 'before' and 'after' modes, including multi-node
traversal, widgetless node handling, canvas dirty marking, linkedWidgets
label updates, and subgraph node traversal.
- Add DevToolsNodeWithComboControlWidget for combo+filter list testing
- Move Number widget tests from widget.spec.ts to new file
- Add subgraph WidgetControlMode test to subgraphPromotion.spec.ts