-
Notifications
You must be signed in to change notification settings - Fork 19.8k
fix(dataZoom): restrict range on brushEnd #20814
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Thanks for your contribution! |
The changes brought by this PR can be previewed at: https://echarts.apache.org/examples/editor?version=PR-20814@3e741b1 |
this._handleEnds = [ | ||
linearMap(this._range[0], [0, 100], viewExtend, true), | ||
linearMap(this._range[1], [0, 100], viewExtend, true) | ||
]; | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- In this sentence
sliderMove(0, this._range, viewExtend, 0, minMaxSpan.minSpan, minMaxSpan.maxSpan);
theviewExtent
is pixel value whilethis._range
is percent value. They do not match. [0, 100]
has been defined as a variable aboveconst percentExtent = [0, 100];
, thus should use it directly.
Follow what data zoom drag did, the complete code can be:
const viewExtend = this._getViewExtent();
const percentExtent = [0, 100];
const handleEnds = this._handleEnds = [brushShape.x, brushShape.x + brushShape.width];
const minMaxSpan = this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();
// Restrict range.
sliderMove(
0,
handleEnds,
viewExtend,
0,
minMaxSpan.minSpan != null
? linearMap(minMaxSpan.minSpan, percentExtent, viewExtend, true) : null,
minMaxSpan.maxSpan != null
? linearMap(minMaxSpan.maxSpan, percentExtent, viewExtend, true) : null
);
this._range = asc([
linearMap(handleEnds[0], viewExtend, percentExtent, true),
linearMap(handleEnds[1], viewExtend, percentExtent, true)
]);
this._updateView();
this._dispatchZoomAction(false);
Congratulations! Your PR has been merged. Thanks for your contribution! 👍 |
Brief Information
This pull request is in the type of:
What does this PR do?
Fixed issues
fixed #20807
Details
Before: What was the problem?
After: How does it behave after the fixing?
Document Info
One of the following should be checked.
Misc
ZRender Changes
Related test cases or examples to use the new APIs
N.A.
Others
Merging options
Other information