UNPKG

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