dragula

Crates.iodragula
lib.rsdragula
version0.1.0
sourcesrc
created_at2021-01-10 14:38:39.987366
updated_at2021-01-10 14:38:39.987366
descriptionRust WASM wrapper for Dragula
homepage
repositoryhttps://github.com/Xavientois/dragula-rs
max_upload_size
id338713
size64,499
Xavientois (Xavientois)

documentation

README

Dragula-rs

GitHub GitHub Workflow Status

Drag and drop so simple it hurts

Wrapper for the Dragula Javascript library.

Usage

Dragula provides the easiest possible API to make drag and drop a breeze in your applications.

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.

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.
Commit count: 20

cargo fmt