@atlaskit/pragmatic-drag-and-drop-react-beautiful-dnd-migration
Version:
An optional Pragmatic drag and drop package that enables rapid migration from react-beautiful-dnd to Pragmatic drag and drop
33 lines • 1.17 kB
JavaScript
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
import { useState } from 'react';
function createDroppableRegistry() {
var droppableMap = new Map();
var getEntry = function getEntry(_ref) {
var _droppableMap$get;
var droppableId = _ref.droppableId;
return (_droppableMap$get = droppableMap.get(droppableId)) !== null && _droppableMap$get !== void 0 ? _droppableMap$get : null;
};
var updateListener = null;
var setUpdateListener = function setUpdateListener(listener) {
updateListener = listener;
};
var register = function register(entry) {
var _updateListener;
droppableMap.set(entry.droppableId, entry);
(_updateListener = updateListener) === null || _updateListener === void 0 || _updateListener(entry);
return function () {
droppableMap.delete(entry.droppableId);
};
};
return {
getEntry: getEntry,
register: register,
setUpdateListener: setUpdateListener
};
}
export function useDroppableRegistry() {
var _useState = useState(createDroppableRegistry),
_useState2 = _slicedToArray(_useState, 1),
droppableRegistry = _useState2[0];
return droppableRegistry;
}