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
Fixed an issue with not removing the resize handler when user clicks RMB #10416
Conversation
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.
The fix seems to be working. Can you apply the same fix for the ManualRowResize plugin?
handsontable/src/plugins/manualColumnResize/manualColumnResize.js
Outdated
Show resolved
Hide resolved
handsontable/src/plugins/manualColumnResize/manualColumnResize.js
Outdated
Show resolved
Hide resolved
this.hot.rootElement.removeChild(this.handle); | ||
this.hot.rootElement.removeChild(this.guide); |
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.
this.hot.rootElement.removeChild(this.handle); | |
this.hot.rootElement.removeChild(this.guide); |
I think that it is ok that the handler does not disappear after triggering the context menu. The origin bug is still fixed, the handler does not follow the mouse after unclicking the context menu:
By removing these lines, we do not add new code to maintain, and the fix still seems to be working. So why not do it 🤔
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.
As you can see, there UI element left behind. Title of the issue says that: "The resize handler should be removed when user clicks RMB".
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.
For better code health, I'd remove the lines. UI, in this case, still works fine for me. What do you think @AMBudnik @krzysztofspilka?
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.
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.
It's fine with me 👍
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.
Thanks for discussing this! I think it all comes down to two options that we have:
- Leave the resize indicator as it is when the context menu is opened, as @budnix suggested - but then, for the sake of consistency, allow the end-user to resize other columns manually. It's what Google Sheets does.
google-beh.mp4
or
- Hide the manual-resize indicator. The mouse cursor should return to
default
in this case.
excel-beh.mp4
Solution no. 2 blocks the UI outside (behind) the context menu, which is exactly what the OS-context menu does. It's also more consistent with how Handsontable interacts with other plugins. For example, in v12.4.0 a mouse cursor over the dropdown menu button doesn't give you the on-hover
visual feedback. The cursor style remains default
.
That being said, I'm fond of solution no. 2 (hide the manual-resize indicator).
See the screen recording below for reference.
Screen.Recording.2023-06-17.at.11.58.06.mov
Co-authored-by: Krzysztof Budnik <571316+budnix@users.noreply.github.com>
So far changes are done without remark from: #10416 (comment). I'll do changes related to than when needed (after a decision). |
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.
👌
Context
This PR adds callback for right click on resize handler. It fixes problem described within https://github.com/handsontable/dev-handsontable/issues/1312.
See below a video showing the problem, mentioned in the issue.
move-rmb.mp4
How has this been tested?
Tested case described in the issue.
Types of changes
Related issue(s):
Affected project(s):
handsontable
@handsontable/angular
@handsontable/react
@handsontable/vue
@handsontable/vue3
Checklist: