UNPKG

wix-style-react

Version:
36 lines (30 loc) 1.8 kB
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; import ReactTestUtils from 'react-dom/test-utils'; import { getInstanceOfDraggableProvider, getInstanceOfDraggableSource, getInstanceOfDraggableTarget } from './driverHelpers'; import publicSortableListDriver from './SortableList.driver'; var sortableListFactory = function sortableListFactory(_ref) { var element = _ref.element, wrapper = _ref.wrapper; // in case if wrapper is coming from enzyme, we want to get it instance var vanillaWrapper = wrapper.instance ? wrapper.instance() : wrapper; var isCompositeComponent = ReactTestUtils.isCompositeComponent(vanillaWrapper); if (!isCompositeComponent) { console.warn('SortableList factory expect to receive wrapper as composite component(react instance, and not a dom instance)'); // eslint-disable-line } var backend = isCompositeComponent ? getInstanceOfDraggableProvider(vanillaWrapper).getManager().getBackend() : null; return _extends({}, publicSortableListDriver({ element: element, wrapper: wrapper }), { beginDrag: function beginDrag(itemId) { return backend && backend.simulateBeginDrag([getInstanceOfDraggableSource(vanillaWrapper, itemId).getHandlerId()]); }, endDrag: function endDrag() { return backend && backend.simulateEndDrag(); }, drop: function drop() { return backend && backend.simulateDrop(); }, hover: function hover(itemId) { return backend && backend.simulateHover([getInstanceOfDraggableTarget(vanillaWrapper, itemId).getHandlerId()]); } }); }; export default sortableListFactory;