@dragndrop/dropzone v0.1.6
Dropzone
Dropzone is element which Draggable element can be dropped on.
Design & API Documentation
Installation
npm install @dragndrop/dropzoneUsage
Dropzone element can be used in common with Draggable element to create variety of drag and drop powered components for websites.
CSS Classes (they can be changed)
| CSS Class | Description |
|---|---|
dragging--over | Sets this class to element when draggable element is draggedOver the dropzone |
dragging--invalid | Sets this class to element when draggable element is not accepted by dropzone |
Dropzone
The Dropzone is a component which accept Draggables and allow them to be dropped.
const dropzoneElement = document.querySelector('.dropzone');
const dropzone = new Dropzone(dropzoneElement);You can also use attachTo() as an alias;
Dropzone.attachTo(document.querySelector('.dropzone'));| Events | Type | Data | Description |
|---|---|---|---|
onDragEnter | CustomEvent | {originalEvent, dragInfo, dropzoneElement} | Event dispatched when Draggable enters on Dropzone |
onDragLeave | CustomEvent | {originalEvent, dragInfo, dropzoneElement} | Event dispatched when Draggable leaves on Dropzone |
onDragOver | CustomEvent | {originalEvent, dragInfo, dropzoneElement} | Event dispatched when Draggable is over on Dropzone |
onDrop | CustomEvent | {originalEvent, dragInfo, dropzoneElement} | Event dispatched when Draggable is dropped on Dropzone |
| Property | Value Type | Description |
|---|---|---|
acceptor | Acceptor | Data which is attached to draggable |
exact | boolean | Events from Draggable are stopped with stopPropagation() when exact is true. |
overClass | String | Class which is set on element when draggingOver (dragging--over default) |
invalidClass | String | Class which is set on element when draggingOver not accepted element (dragging--invalid default) |
allowOnChild | boolean | It allows to drop, if draggable is a child of dropzone, without dragging outside. |
| Method Signature | Description |
|---|---|
destroy() => void | Proxies to the foundation's destroy method |
DropzoneFoundation
| Method Signature | Description |
|---|---|
destroy() => void | Destroy all event listeners and clean up component. |
Acceptor
Acceptor allows to provide instructions to dropzone which elements should be accepted and which should not.
When Element is not accepted it can`t be dropped on Dropzone.
abstract accepts<D>(dragInfo: DragInfo<D>, dropzoneElement: Element, event: Event): boolean;Acceptor is abstract class with accepts method which should be implemented.
| Argument | Type | Description |
|---|---|---|
dragInfo | DragInfo | Info from Draggable which is snapped when dragging |
dropzoneElement | Element | Dropzone element on which element is dragged |
event | CustomEvent | Custom Event dispatched _customDragEnter, _customDragLeave, _customDragOver and _customDrop |
Default there is only DraggablesAcceptor implemented which is accepting given Draggables.
If you need you can write your own Acceptor for example QuerySelectorAcceptor to accept elements with given querySelectors.