-
Notifications
You must be signed in to change notification settings - Fork 8
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
Enable table column resizing on touch-based devices #2435
Conversation
I'm not sure it's worth mentioning in the description, but I'll note that at least with my Firefox dev tools, the touch events did not work (they did in Chrome however as you noted). I think it's also worth a manual test on actual device browsers. |
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.
A significant number of tests are failing, please reset when PR is passing
packages/nimble-components/src/table/tests/table-column-sizing.spec.ts
Outdated
Show resolved
Hide resolved
@atmgrifter00 Can I have you take another look? I've made enough changes (primarily in the page object and tests) that I think it's warranted. |
packages/nimble-components/src/table/testing/table.pageobject.ts
Outdated
Show resolved
Hide resolved
packages/nimble-components/src/table/models/table-layout-manager.ts
Outdated
Show resolved
Hide resolved
packages/nimble-components/src/table/testing/table.pageobject.ts
Outdated
Show resolved
Hide resolved
packages/nimble-components/src/table/testing/table.pageobject.ts
Outdated
Show resolved
Hide resolved
…hub.com/ni/nimble into users/makinc/table-column-sizing-mobile
Pull Request
🤨 Rationale
The table columns can't be interactively resized using touch-based interfaces (mobile).
Also fixes #1362
👩💻 Implementation
We handle dragging column dividers via the mouse events
mousedown
,mousemove
, andmouseup
. I replaced that with handling for thepointerdown
,pointermove
, andpointerup
events. We also usesetPointerCapture
to force events to be handled by our divider, which allows us to remove theglass-overlay
div.🧪 Testing
✅ Checklist