UNPKG

@6thquake/react-material

Version:

React components that implement Google's Material Design.

109 lines (82 loc) 3.13 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _react = _interopRequireDefault(require("react")); var _reactDom = _interopRequireDefault(require("react-dom")); var _withStyles = _interopRequireDefault(require("../styles/withStyles")); var _reactDnd = require("react-dnd"); var _immutabilityHelper = _interopRequireDefault(require("immutability-helper")); var _propTypes = _interopRequireDefault(require("prop-types")); /** * @ignore - do not document. */ var styles = {}; var boxTarget = { drop: function drop(props, monitor, component) { if (component.state.acceptSource.indexOf(monitor.getItem().sourceType) === -1) { return; } component.state.comp.drop(props, monitor, component); } }; var _DropTarget = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(_DropTarget, _React$Component); function _DropTarget(props) { var _this; (0, _classCallCheck2.default)(this, _DropTarget); _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(_DropTarget).call(this, props)); _this.accept = function (items) { _this.setState(function (preState) { return { acceptSource: (0, _toConsumableArray2.default)(items) }; }); }; _this.register = function (comp) { _this.state.comp = comp; }; _this.state = { acceptSource: '' }; return _this; } (0, _createClass2.default)(_DropTarget, [{ key: "render", value: function render() { // console.log(this.state.acceptSource) var _this$props = this.props, connect = _this$props.connect, monitor = _this$props.monitor, classes = _this$props.classes, children = _this$props.children; return connect.dropTarget()(_react.default.createElement("div", null, _react.default.cloneElement(children, { accept: this.accept, register: this.register.bind(this), connect: connect, monitor: monitor }))); } }]); return _DropTarget; }(_react.default.Component); function collect(connect, monitor) { return { connect: connect, monitor: monitor, itemType: monitor.getItemType() }; } var DropTarget = (0, _reactDnd.DropTarget)('*', boxTarget, collect)(_DropTarget); var _default = (0, _withStyles.default)(styles)(DropTarget); exports.default = _default;