Drag and Drop
Overview
Dran and Drop is available for any DOM node using the DragTarget
and DropTarget
APIs.
Drag and Drop
Any Elem
can be converted into a drag target using DragTarget
:
Box { it.text = "Drag me" DragTarget.bind(it) { // get the data payload when a drag event starts it.onDrag { "Hi :)" } } }
Likewise any Elem can be converted into a drop target using DropTarget
:
Box { it.text = "Drop on me" DropTarget.bind(it) { it.onDrop |data| { echo("# drop: $data") } } }
You may specify if the given drag data is able to be dropped on a DropTarget using canDrop
:
DropTarget.bind(elem) { it.canDrop |data| { data == "foo" } it.onDrop |data| { echo("# drop: $data") } }