dragula 0.1.0

Rust WASM wrapper for Dragula
Documentation
# Dragula-rs

[![](http://meritbadge.herokuapp.com/dragula)](https://crates.io/crates/dragula)
![GitHub](https://img.shields.io/github/license/Xavientois/dragula-rs)
![GitHub Workflow Status](https://github.com/Xavientois/dragula-rs/workflows/tests/badge.svg)

> Drag and drop so simple it hurts

Wrapper for the [Dragula](https://bevacqua.github.io/dragula/) Javascript library.

## Usage
Dragula provides the easiest possible API to make drag and drop a breeze in your
applications.
```rust
use dragula::*;

let doc = web_sys::window().unwrap().document().unwrap();
let element = doc.get_element_by_id("drag-container").unwrap();

let drake = dragula(&[element]);

```

You can also provide an `Options` instance to specify
behaviour of certain drag-and-drop features.
```rust
use dragula::*;
use dragula::options::Direction;
use web_sys::Element;

//--snip--

let options = Options {
    is_container: Box::new(|el| {
        Element::from(el).class_list().contains("drag-container")
    }),
    direction: Direction::Horizontal,
    revert_on_spill: true,
    ..Options::default()
};

let drake = dragula_options(&[element], options);

//--snip--

```

### `cargo` Features
- **js-sys**: On by default. Can be used to toggle dependencies on the `js-sys`
  crate. Most of this crate relies solely on `wasm-bindgen`, so disabling this
  feature currently just prevents you from getting containers on an existing
  Drake. The main reason you might want to disable this would be to improve compile
  times.