waterWang opened a new pull request, #21724: URL: https://github.com/apache/echarts/pull/21724
### Problem When the toolbox dataZoom button is active and the user clicks on the chart to zoom, the cursor changes to a default/gesture state after releasing the mouse. The expected behavior is that the cursor should remain as the zoom crosshair cursor while the dataZoom tool is active. ### Root Cause The `RoamController._mousemoveHandler` properly checks `interactionMutex.isTaken(zr, 'globalPan')` and defers to the BrushController when the dataZoom brush is active. However, `_mousedownHandler` and `_mouseupHandler` were not checking this mutex: - `_mousedownHandler` would set `this._dragging = true` even when the dataZoom brush owns the interaction - `_mouseupHandler` would reset the cursor to `'default'` (via `_decideCursorStyle`) on mouse release, overriding the zoom crosshair cursor ### Fix Add the same `interactionMutex.isTaken(zr, 'globalPan')` guard to `_mousedownHandler` and `_mouseupHandler`, consistent with the existing check in `_mousemoveHandler`. This prevents the RoamController from interfering with the cursor when the BrushController (dataZoom) holds the globalPan mutex. ### How to Reproduce 1. Open the line-smooth chart example with toolbox dataZoom enabled 2. Click the zoom button in the toolbox area 3. Hover over the chart — cursor should be crosshair (zoom cursor) ✓ 4. Click and drag on the chart to select a zoom region 5. Release the mouse — cursor should remain as crosshair, NOT change to default/gesture Closes #21723 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
