isocra / TableDnD

jQuery plug-in to drag and drop rows in HTML tables
http://www.isocra.com/2008/02/table-drag-and-drop-jquery-plugin/
Other
401 stars 370 forks source link

Hammerjs: compatibility and improved gesture support #26

Open nickl- opened 11 years ago

nickl- commented 11 years ago

I recently found that tableDnD would not work with hammer.js also enabled as it modifies the properties of the event we rely upon for drag and drop implementation.

This poses an issue that needs to be addressed but perhaps considering hammer as a dependency instead would be a more favourable option which would minimize our own adaptation for gesture implementation and widen our overall device compatibility while supporting a project which has taken this task on themselves at the same time.

Alternatively we would still have to consider the presence of hammer which becomes a messy proposition.

@isocra The former sounds like win win to me, any thoughts, concerns and suggestions?

nickl- commented 11 years ago

Alternatively we could step outside the box and instead of patching current problems which stems from inconsistencies in the touch/mouse implementations.Before we get caught with our pants down as well for not having foresight lets instead look at where we're going and we find pointers are the solution we are likely heading towards.

Polyfills albeit filling that which is to be instead of backward compatibility fills in defunct browsers still aims to accomplish the same thing, eventually they will fall away. This means we won't be sitting with dependencies and work done now to prepare ourselves for things to come.

In a similar way adopting shadow dom now will solve #27 without a problem. Think about it...

brendon commented 11 years ago

Lol, so guess what was the cause of https://github.com/isocra/TableDnD/issues/31?

Her desktop computer has a touch screen, and lucky you had an alert set up on your test page that helped me to figure it out (I was doing a remote session). Having touch support seems to kill drag and drop even with the mouse (if you hadn't already found that). The latest Firefox seems to be fine now but Chrome was still dead.

I've solved the touch problem in the past with jQuery UI Touch Punch. I used it to enable touch support for jQuery's native drag and drop and even resizing. Seemed pretty straight forward but it's been a while since I implemented it so the details are hazy :) Let me know if you want more info though.