StreakYC / react-draggable-list

React component for a list of draggable collapsible items
MIT License
325 stars 49 forks source link

Latest iOS version (11.3) broke the component #26

Open mortentz opened 6 years ago

mortentz commented 6 years ago

It seems like they've introduced a bug that causes preventDefault() to not work properly, so on any page with scrolling the component simply doesn't work on iOS 11.3.

I assume the behavior is related to this bug: https://bugs.webkit.org/show_bug.cgi?id=184250

Macil commented 6 years ago

Thanks for letting us know. What's the behavior you see? (Does react-draggable-list become entirely nonfunctional? Is it just the scrolling-while-reexpanding part that's broken? Is there an exception that gets thrown anywhere?)

mortentz commented 6 years ago

No exception. The problem is that preventDefault no longer prevents scrolling on iOS 11.3, so on any page that requires scrolling, nothing happens if you try to drag an item. The item with the draghandle will get expanded, and then the page simply scrolls instead of the item being moved.

Edit: Here's a live example by the way: https://beta.fotmob.com/wc2018/competition

Just open it on a device with iOS 11.3 and click "Let's go". The draggable list components on the following page are smooth as silk on pretty much any other device. Really nice stuff.

Another update: https://bugs.webkit.org/show_bug.cgi?id=182521

Towards the bottom there, it seems like this is breaking pretty much all drag and drop components for React, and yet it seems to be considered a "feature". Fascinating.