1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | var _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 |
|
9 | var _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 |
|
11 | var _react = require('react');
|
12 |
|
13 | var _react2 = _interopRequireDefault(_react);
|
14 |
|
15 | var _reactBeautifulDnd = require('react-beautiful-dnd');
|
16 |
|
17 | var _util = require('./util');
|
18 |
|
19 | var _classnames = require('classnames');
|
20 |
|
21 | var _classnames2 = _interopRequireDefault(_classnames);
|
22 |
|
23 | var _lodash = require('lodash.isequal');
|
24 |
|
25 | var _lodash2 = _interopRequireDefault(_lodash);
|
26 |
|
27 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
28 |
|
29 | function _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 |
|
31 | function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
32 |
|
33 | function _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 |
|
35 | function _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 |
|
37 | var 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 |
|
49 | var 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 |
|
144 | exports["default"] = Vertical;
|
145 | module.exports = exports['default']; |
\ | No newline at end of file |