UNPKG

@6thquake/react-material

Version:

React components that implement Google's Material Design.

60 lines (51 loc) 1.26 kB
/** * @ignore - do not document. */ import React from 'react'; import ReactDOM from 'react-dom'; import PropTypes from 'prop-types'; import { DragSource } from 'react-dnd'; const ItemTypes = { COLUMN: 'column', CHIP: 'chip' }; const columnSource = { beginDrag(props, monitor, component) { return { name: props.name }; }, endDrag(props, monitor, component) { if (!monitor.didDrop()) { return; } // When dropped on a compatible target, do something const item = monitor.getItem(); const dropResult = monitor.getDropResult(); component.props.dragOut(); } }; function chipDragcollect(connect, monitor) { return { connectDragSource: connect.dragSource(), connectDragPreview: connect.dragPreview(), isDragging: monitor.isDragging() }; } /** * @ignore - internal component. */ class CrossTabulationDragSource extends React.Component { render() { const { connectDragSource, connectDragPreview, children } = this.props; return connectDragSource(React.createElement("div", { style: { display: 'inline-block' } }, children)); } } export default DragSource(ItemTypes.CHIP, columnSource, chipDragcollect)(CrossTabulationDragSource);