UNPKG

react-beautiful-dnd

Version:

Beautiful, accessible drag and drop for lists with React.js

102 lines (71 loc) 3.12 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _defineProperty2 = require('babel-runtime/helpers/defineProperty'); var _defineProperty3 = _interopRequireDefault(_defineProperty2); var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of'); var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf); var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck'); var _classCallCheck3 = _interopRequireDefault(_classCallCheck2); var _createClass2 = require('babel-runtime/helpers/createClass'); var _createClass3 = _interopRequireDefault(_createClass2); var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn'); var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2); var _inherits2 = require('babel-runtime/helpers/inherits'); var _inherits3 = _interopRequireDefault(_inherits2); var _react = require('react'); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _createStore = require('../../state/create-store'); var _createStore2 = _interopRequireDefault(_createStore); var _fireHooks = require('../../state/fire-hooks'); var _fireHooks2 = _interopRequireDefault(_fireHooks); var _contextKeys = require('../context-keys'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var DragDropContext = function (_Component) { (0, _inherits3.default)(DragDropContext, _Component); function DragDropContext() { (0, _classCallCheck3.default)(this, DragDropContext); return (0, _possibleConstructorReturn3.default)(this, (DragDropContext.__proto__ || (0, _getPrototypeOf2.default)(DragDropContext)).apply(this, arguments)); } (0, _createClass3.default)(DragDropContext, [{ key: 'getChildContext', value: function getChildContext() { return (0, _defineProperty3.default)({}, _contextKeys.storeKey, this.store); } }, { key: 'componentWillMount', value: function componentWillMount() { var _this2 = this; this.store = (0, _createStore2.default)(); var previous = this.store.getState(); this.unsubscribe = this.store.subscribe(function () { var current = _this2.store.getState(); var hooks = { onDragStart: _this2.props.onDragStart, onDragEnd: _this2.props.onDragEnd }; (0, _fireHooks2.default)(hooks, current, previous); previous = current; }); } }, { key: 'componentWillUnmount', value: function componentWillUnmount() { this.unsubscribe(); } }, { key: 'render', value: function render() { return this.props.children; } }]); return DragDropContext; }(_react.Component); DragDropContext.childContextTypes = (0, _defineProperty3.default)({}, _contextKeys.storeKey, _propTypes2.default.shape({ dispatch: _propTypes2.default.func.isRequired, subscribe: _propTypes2.default.func.isRequired, getState: _propTypes2.default.func.isRequired }).isRequired); exports.default = DragDropContext;