UNPKG

5.84 kBJavaScriptView Raw
1'use strict';
2
3Object.defineProperty(exports, "__esModule", {
4 value: true
5});
6
7var _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; };
8
9var _react = require('react');
10
11var _react2 = _interopRequireDefault(_react);
12
13var _reactBeautifulDnd = require('react-beautiful-dnd');
14
15var _reactDraggable = require('react-draggable');
16
17var _reactDraggable2 = _interopRequireDefault(_reactDraggable);
18
19var _propTypes = require('prop-types');
20
21var _propTypes2 = _interopRequireDefault(_propTypes);
22
23var _lodash = require('lodash.isequal');
24
25var _lodash2 = _interopRequireDefault(_lodash);
26
27var _SortList = require('./SortList');
28
29var _SortList2 = _interopRequireDefault(_SortList);
30
31var _Between = require('./Between');
32
33var _Between2 = _interopRequireDefault(_Between);
34
35function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
36
37function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }
38
39function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
40
41function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
42
43function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }
44
45var propTypes = {
46 onStart: _propTypes2["default"].func,
47 onDrag: _propTypes2["default"].func,
48 onStop: _propTypes2["default"].func,
49 onDragUpdate: _propTypes2["default"].func,
50 dropClass: _propTypes2["default"].string,
51 dropOverClass: _propTypes2["default"].string,
52 dragClass: _propTypes2["default"].string,
53 dragingClass: _propTypes2["default"].string,
54 draggedClass: _propTypes2["default"].string,
55 className: _propTypes2["default"].string,
56 style: _propTypes2["default"].object,
57 list: _propTypes2["default"].array,
58 otherList: _propTypes2["default"].array,
59 type: _propTypes2["default"].oneOf(['vertical', 'horizontal', 'betweenVertical', 'betweenHorizontal']),
60 showKey: _propTypes2["default"].string
61
62};
63var defaultProps = {
64 onStart: function onStart() {},
65 onDrag: function onDrag() {},
66 onStop: function onStop() {},
67 onDragUpdate: function onDragUpdate() {},
68 list: false,
69 otherList: [],
70 dropClass: '',
71 dropOverClass: '',
72 dragClass: '',
73 dragingClass: '',
74 draggedClass: '',
75 type: 'vertical'
76};
77
78var Dnd = function (_Component) {
79 _inherits(Dnd, _Component);
80
81 function Dnd(props) {
82 _classCallCheck(this, Dnd);
83
84 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
85
86 _this.state = {
87 items: _this.props.list || []
88 };
89 return _this;
90 }
91
92 Dnd.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
93 if (!(0, _lodash2["default"])(this.state.items, nextProps.list)) {
94 this.setState({
95 items: nextProps.list
96 });
97 }
98 };
99
100 Dnd.prototype.render = function render() {
101 var _this2 = this;
102
103 var self = this;
104 var DndType = function DndType() {
105 switch (_this2.props.type) {
106 case 'vertical':
107 return _react2["default"].createElement(_SortList2["default"], _this2.props);
108 break;
109 case 'horizontal':
110 return _react2["default"].createElement(_SortList2["default"], _this2.props);
111 break;
112 case 'betweenVertical':
113 return _react2["default"].createElement(_Between2["default"], _this2.props);
114 break;
115 case 'betweenHorizontal':
116 return _react2["default"].createElement(_Between2["default"], _this2.props);
117 break;
118 default:
119 return _react2["default"].createElement(_SortList2["default"], _this2.props);
120 break;
121 }
122 };
123 return _react2["default"].createElement(
124 'div',
125 null,
126 self.state.items.length ? DndType() : _react2["default"].createElement(
127 _reactDraggable2["default"],
128 _extends({ defaultClassName: this.props.dragClass,
129 defaultClassNameDragging: this.props.dragingClass,
130 defaultClassNameDragged: this.props.draggedClass
131 }, this.props),
132 self.props.children
133 )
134 );
135 };
136
137 return Dnd;
138}(_react.Component);
139
140Dnd.propTypes = propTypes;
141Dnd.defaultProps = defaultProps;
142Dnd.Drag = _reactDraggable2["default"];
143Dnd.DragDropContext = _reactBeautifulDnd.DragDropContext;
144Dnd.Droppable = _reactBeautifulDnd.Droppable;
145Dnd.Draggable = _reactBeautifulDnd.Draggable;
146exports["default"] = Dnd;
147module.exports = exports['default'];
\No newline at end of file