0.1.6 • Published 4 years ago

@dragndrop/dropzone v0.1.6

Weekly downloads
21
License
MIT
Repository
github
Last release
4 years ago

Dropzone

Dropzone is element which Draggable element can be dropped on.

Design & API Documentation

Installation

npm install @dragndrop/dropzone

Usage

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 ClassDescription
dragging--overSets this class to element when draggable element is draggedOver the dropzone
dragging--invalidSets 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'));
EventsTypeDataDescription
onDragEnterCustomEvent{originalEvent, dragInfo, dropzoneElement}Event dispatched when Draggable enters on Dropzone
onDragLeaveCustomEvent{originalEvent, dragInfo, dropzoneElement}Event dispatched when Draggable leaves on Dropzone
onDragOverCustomEvent{originalEvent, dragInfo, dropzoneElement}Event dispatched when Draggable is over on Dropzone
onDropCustomEvent{originalEvent, dragInfo, dropzoneElement}Event dispatched when Draggable is dropped on Dropzone
PropertyValue TypeDescription
acceptorAcceptorData which is attached to draggable
exactbooleanEvents from Draggable are stopped with stopPropagation() when exact is true.
overClassStringClass which is set on element when draggingOver (dragging--over default)
invalidClassStringClass which is set on element when draggingOver not accepted element (dragging--invalid default)
allowOnChildbooleanIt allows to drop, if draggable is a child of dropzone, without dragging outside.
Method SignatureDescription
destroy() => voidProxies to the foundation's destroy method

DropzoneFoundation

Method SignatureDescription
destroy() => voidDestroy 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.

ArgumentTypeDescription
dragInfoDragInfoInfo from Draggable which is snapped when dragging
dropzoneElementElementDropzone element on which element is dragged
eventCustomEventCustom 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.