wix-style-react
Version:
wix-style-react
36 lines (30 loc) • 1.8 kB
JavaScript
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;