1 | 'use strict';
|
2 |
|
3 | Object.defineProperty(exports, "__esModule", {
|
4 | value: true
|
5 | });
|
6 |
|
7 | var _react = require('react');
|
8 |
|
9 | var _react2 = _interopRequireDefault(_react);
|
10 |
|
11 | var _reactDnd = require('react-dnd');
|
12 |
|
13 | function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
14 |
|
15 | function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
|
16 |
|
17 | var DragTypes = {
|
18 | HEADER: 'header'
|
19 | };
|
20 | var headerSource = {
|
21 | beginDrag: function beginDrag(_ref) {
|
22 | var label = _ref.label;
|
23 |
|
24 | return { label: label };
|
25 | }
|
26 | };
|
27 | var headerTarget = {
|
28 | hover: function hover(targetProps, monitor) {
|
29 | var targetLabel = targetProps.label;
|
30 | var sourceProps = monitor.getItem();
|
31 | var sourceLabel = sourceProps.label;
|
32 |
|
33 | if (sourceLabel !== targetLabel && targetProps.onMove) {
|
34 | targetProps.onMove({ sourceLabel: sourceLabel, targetLabel: targetLabel });
|
35 | }
|
36 | },
|
37 | drop: function drop(targetProps) {
|
38 | if (targetProps.onFinishMove) {
|
39 | targetProps.onFinishMove();
|
40 | }
|
41 | }
|
42 | };
|
43 |
|
44 | var dragSource = (0, _reactDnd.DragSource)(
|
45 | DragTypes.HEADER, headerSource, function (connect) {
|
46 | return {
|
47 | connectDragSource: connect.dragSource()
|
48 | };
|
49 | });
|
50 | var dropTarget = (0, _reactDnd.DropTarget)(
|
51 | DragTypes.HEADER, headerTarget, function (connect) {
|
52 | return {
|
53 | connectDropTarget: connect.dropTarget()
|
54 | };
|
55 | });
|
56 | var header = function header(_ref2) {
|
57 | var connectDragSource = _ref2.connectDragSource,
|
58 | connectDropTarget = _ref2.connectDropTarget,
|
59 | label = _ref2.label,
|
60 | children = _ref2.children,
|
61 | onMove = _ref2.onMove,
|
62 | onFinishMove = _ref2.onFinishMove,
|
63 | props = _objectWithoutProperties(_ref2, ['connectDragSource', 'connectDropTarget', 'label', 'children', 'onMove', 'onFinishMove']);
|
64 |
|
65 | return connectDragSource(connectDropTarget(_react2.default.createElement(
|
66 | 'th',
|
67 | props,
|
68 | children
|
69 | )));
|
70 | };
|
71 |
|
72 | exports.default = dragSource(dropTarget(header)); |
\ | No newline at end of file |