Drag and drop sans the GUI.
This is a clean implementation of drag and drop primitives that does not depend on the browser. It powers React DnD internally.
To give you a better idea:
This was written to support some rather complicated scenarios that were too hard to implement in React DnD due to its current architecture:
As it turns out, these problems are much easier to solve when DOM is thrown out of the window.
Tests
should give you some idea. You register drag sources and drop targets,
connect a backend (you can use barebones TestBackend
or
implement a fancy real one yourself), and your drag sources and drop
targets magically begin to interact.