UNPKG

react-sortablejs

Version:

React bindings to [SortableJS](https://github.com/SortableJS/Sortable)

43 lines 2.06 kB
import { Component } from "react"; import { Options, SortableEvent } from "sortablejs"; import { AllMethodsExceptMove, HandledMethodNames, ItemInterface, ReactSortableProps } from "./types"; export declare class ReactSortable<T extends ItemInterface> extends Component<ReactSortableProps<T>> { static defaultProps: Partial<ReactSortableProps<any>>; private ref; constructor(props: ReactSortableProps<T>); componentDidMount(): void; render(): JSX.Element; private getChildren; /** Appends the `sortable` property to this component */ private get sortable(); /** Converts all the props from `ReactSortable` into the `options` object that `Sortable.create(el, [options])` can use. */ makeOptions(): Options; /** Prepares a method that will be used in the sortable options to call an `on[Handler]` prop & an `on[Handler]` ReactSortable method. */ prepareOnHandlerPropAndDOM(evtName: HandledMethodNames): (evt: SortableEvent) => void; /** Prepares a method that will be used in the sortable options to call an `on[Handler]` prop */ prepareOnHandlerProp(evtName: Exclude<AllMethodsExceptMove, HandledMethodNames>): (evt: SortableEvent) => void; /** Calls the `props.on[Handler]` function */ callOnHandlerProp(evt: SortableEvent, evtName: AllMethodsExceptMove): void; onAdd(evt: MultiDragEvent): void; onRemove(evt: MultiDragEvent): void; onUpdate(evt: MultiDragEvent): void; onStart(): void; onEnd(): void; onChoose(evt: SortableEvent): void; onUnchoose(evt: SortableEvent): void; onSpill(evt: SortableEvent): void; onSelect(evt: MultiDragEvent): void; onDeselect(evt: MultiDragEvent): void; } interface MultiIndices { multiDragElement: HTMLElement; index: number; } export interface MultiDragEvent extends SortableEvent { clones: HTMLElement[]; oldIndicies: MultiIndices[]; newIndicies: MultiIndices[]; swapItem: HTMLElement | null; } export {}; //# sourceMappingURL=react-sortable.d.ts.map