A generic drag-and-drop lib mainly for Aurelia, mobile friendly, with APIs fit in MVC/MVVM natively.
Built on top of bcx-aurelia-dnd, a customised Aurelia repeater that supports drag-and-drop reordering automatically.
bcx-aurelia-dnd use dragula algorithm, but is not just a dragula wrapper
dragula’s algorithm to avoid native HTML5 DnD API, but doesn’t inherit or expose any
dragula API (they don’t even exist in the code). APIs are designed to fit in MVC/MVVM natively.
dragula implements DnD in plain mouse/touch events, not in native HTML5 DnD API. Here is the place where we were introduced to dragula, it has some links for issues around native HTML5 DnD API. It resonated with our experience on React DnD which uses native HTML5 DnD API. We had issues on nested source/target and some annoying browser behaviour (cursor in IE) in native HTML5 DnD API. None of that affected our dragula based DnD.
Another bonus of dragula, it supports mobile devices. All examples here works on iPad and phones.
Inspired by react-dnd
bcx-aurelia-dnd doesn’t depend on Aurelia, it only uses
There are few alternative projects in Aurelia community. List them here for reference.
- a dragula wrapper to provide convenient interface to Aurelia. Handy to existing dragula users.
- based on very interesting oribella, can sort list or multiple lists.
- based on Sortablejs, can sort list or multiple lists, visually appealing.
bcx-aurelia-dnd is licensed under the MIT license.