UNPKG

6.19 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 _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
10
11var _react = require('react');
12
13var _react2 = _interopRequireDefault(_react);
14
15var _reactDom = require('react-dom');
16
17var _reactDom2 = _interopRequireDefault(_reactDom);
18
19var _reactBeautifulDnd = require('react-beautiful-dnd');
20
21var _util = require('./util');
22
23var _classnames = require('classnames');
24
25var _classnames2 = _interopRequireDefault(_classnames);
26
27var _lodash = require('lodash.isequal');
28
29var _lodash2 = _interopRequireDefault(_lodash);
30
31function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
32
33function _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; }
34
35function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
36
37function _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; }
38
39function _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); }
40
41var reorder = function reorder(list, startIndex, endIndex) {
42 var result = Array.from(list);
43
44 var _result$splice = result.splice(startIndex, 1),
45 _result$splice2 = _slicedToArray(_result$splice, 1),
46 removed = _result$splice2[0];
47
48 result.splice(endIndex, 0, removed);
49
50 return result;
51};
52
53var Vertical = function (_Component) {
54 _inherits(Vertical, _Component);
55
56 function Vertical(props) {
57 _classCallCheck(this, Vertical);
58
59 var _this = _possibleConstructorReturn(this, _Component.call(this, props));
60
61 _this.onDragEnd = function (result) {
62 if (!result.destination) {
63 return;
64 }
65 var items = reorder(_this.state.items, result.source.index, result.destination.index);
66
67 _this.setState({
68 items: items
69 });
70 _this.props.onStop(result, items);
71 };
72
73 _this.onDragStart = function (result) {
74 _this.props.onStart(result, _this.state.items);
75 };
76
77 _this.state = {
78 items: _this.props.list || []
79 };
80 return _this;
81 }
82
83 Vertical.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {
84 if (!(0, _lodash2["default"])(this.state.items, nextProps.list)) {
85 this.setState({
86 items: nextProps.list
87 });
88 }
89 };
90
91 Vertical.prototype.render = function render() {
92 var _this2 = this;
93
94 var _props = this.props,
95 onStart = _props.onStart,
96 onDrag = _props.onDrag,
97 onStop = _props.onStop,
98 onDragUpdate = _props.onDragUpdate,
99 dropClass = _props.dropClass,
100 dropOverClass = _props.dropOverClass,
101 dragClass = _props.dragClass,
102 dragingClass = _props.dragingClass,
103 showKey = _props.showKey,
104 type = _props.type;
105
106
107 return _react2["default"].createElement(
108 _reactBeautifulDnd.DragDropContext,
109 { onDragEnd: this.onDragEnd, onDragStart: this.onDragStart, onDragUpdate: onDragUpdate },
110 _react2["default"].createElement(
111 _reactBeautifulDnd.Droppable,
112 { droppableId: 'droppable', direction: type },
113 function (provided, snapshot) {
114 return _react2["default"].createElement(
115 'div',
116 {
117 ref: provided.innerRef,
118 className: (0, _classnames2["default"])(_extends({}, (0, _util.getClass)(_this2.props, snapshot.isDraggingOver).drop))
119 },
120 _this2.state.items.map(function (item, index) {
121 return _react2["default"].createElement(
122 _reactBeautifulDnd.Draggable,
123 { key: index, draggableId: index, index: index },
124 function (provided, snapshot) {
125 return _react2["default"].createElement(
126 'div',
127 _extends({
128 ref: provided.innerRef
129 }, provided.draggableProps, provided.dragHandleProps, {
130 className: (0, _classnames2["default"])(_extends({}, (0, _util.getClass)(_this2.props, snapshot.isDragging).drag)),
131 style: _extends({}, provided.draggableProps.style)
132 }),
133 showKey ? item[showKey] : item
134 );
135 }
136 );
137 }),
138 provided.placeholder
139 );
140 }
141 )
142 );
143 };
144
145 return Vertical;
146}(_react.Component);
147
148exports["default"] = Vertical;
149module.exports = exports['default'];
\No newline at end of file