@@ -60,11 +60,14 @@ return /******/ (function(modules) { // webpackBootstrap
60
60
Object . defineProperty ( exports , "__esModule" , {
61
61
value : true
62
62
} ) ;
63
+ exports . default = undefined ;
63
64
64
- 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 ; } ;
65
+ var _typeof = typeof Symbol === " function" && typeof Symbol . iterator === "symbol" ? function ( obj ) { return typeof obj ; } : function ( obj ) { return obj && typeof Symbol === "function" && obj . constructor === Symbol ? "symbol" : typeof obj ; } ;
65
66
66
67
var _createClass = function ( ) { function defineProperties ( target , props ) { for ( var i = 0 ; i < props . length ; i ++ ) { var descriptor = props [ i ] ; descriptor . enumerable = descriptor . enumerable || false ; descriptor . configurable = true ; if ( "value" in descriptor ) descriptor . writable = true ; Object . defineProperty ( target , descriptor . key , descriptor ) ; } } return function ( Constructor , protoProps , staticProps ) { if ( protoProps ) defineProperties ( Constructor . prototype , protoProps ) ; if ( staticProps ) defineProperties ( Constructor , staticProps ) ; return Constructor ; } ; } ( ) ;
67
68
69
+ var _class , _temp2 ;
70
+
68
71
var _react = __webpack_require__ ( 1 ) ;
69
72
70
73
var _react2 = _interopRequireDefault ( _react ) ;
@@ -79,161 +82,102 @@ return /******/ (function(modules) { // webpackBootstrap
79
82
80
83
function _interopRequireDefault ( obj ) { return obj && obj . __esModule ? obj : { default : obj } ; }
81
84
85
+ 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 ; }
86
+
82
87
function _classCallCheck ( instance , Constructor ) { if ( ! ( instance instanceof Constructor ) ) { throw new TypeError ( "Cannot call a class as a function" ) ; } }
83
88
84
89
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 ; }
85
90
86
91
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 ) : subClass . __proto__ = superClass ; }
87
92
88
- var defaultOptions = {
89
- ref : 'list'
90
- } ;
91
-
92
93
var store = {
93
94
nextSibling : null ,
94
95
activeComponent : null
95
96
} ;
96
97
97
- var refName = 'sortableComponent' ;
98
+ var _default = ( _temp2 = _class = function ( _React$Component ) {
99
+ _inherits ( _default , _React$Component ) ;
98
100
99
- var extend = function extend ( target ) {
100
- for ( var _len = arguments . length , sources = Array ( _len > 1 ? _len - 1 : 0 ) , _key = 1 ; _key < _len ; _key ++ ) {
101
- sources [ _key - 1 ] = arguments [ _key ] ;
102
- }
101
+ function _default ( ) {
102
+ var _Object$getPrototypeO ;
103
103
104
- if ( target === undefined || target === null ) {
105
- throw new TypeError ( 'Cannot convert undefined or null to object' ) ;
106
- }
104
+ var _temp , _this , _ret ;
107
105
108
- var output = Object ( target ) ;
109
- for ( var index = 0 ; index < sources . length ; index ++ ) {
110
- var source = sources [ index ] ;
111
- if ( source !== undefined && source !== null ) {
112
- for ( var key in source ) {
113
- if ( source . hasOwnProperty ( key ) ) {
114
- output [ key ] = source [ key ] ;
115
- }
116
- }
106
+ _classCallCheck ( this , _default ) ;
107
+
108
+ for ( var _len = arguments . length , args = Array ( _len ) , _key = 0 ; _key < _len ; _key ++ ) {
109
+ args [ _key ] = arguments [ _key ] ;
117
110
}
111
+
112
+ return _ret = ( _temp = ( _this = _possibleConstructorReturn ( this , ( _Object$getPrototypeO = Object . getPrototypeOf ( _default ) ) . call . apply ( _Object$getPrototypeO , [ this ] . concat ( args ) ) ) , _this ) , _this . sortable = null , _temp ) , _possibleConstructorReturn ( _this , _ret ) ;
118
113
}
119
- return output ;
120
- } ;
121
114
122
- var SortableMixin = function SortableMixin ( ) {
123
- var options = arguments . length <= 0 || arguments [ 0 ] === undefined ? defaultOptions : arguments [ 0 ] ;
124
- return function ( Component ) {
125
- var _class , _temp2 ;
126
-
127
- return _temp2 = _class = function ( _React$Component ) {
128
- _inherits ( _class , _React$Component ) ;
129
-
130
- function _class ( ) {
131
- var _Object$getPrototypeO ;
132
-
133
- var _temp , _this , _ret ;
134
-
135
- _classCallCheck ( this , _class ) ;
136
-
137
- for ( var _len2 = arguments . length , args = Array ( _len2 ) , _key2 = 0 ; _key2 < _len2 ; _key2 ++ ) {
138
- args [ _key2 ] = arguments [ _key2 ] ;
139
- }
140
-
141
- return _ret = ( _temp = ( _this = _possibleConstructorReturn ( this , ( _Object$getPrototypeO = Object . getPrototypeOf ( _class ) ) . call . apply ( _Object$getPrototypeO , [ this ] . concat ( args ) ) ) , _this ) , _this . state = {
142
- sortableInstance : null
143
- } , _this . sortableOptions = extend ( { } , defaultOptions , options ) , _temp ) , _possibleConstructorReturn ( _this , _ret ) ;
144
- }
145
-
146
- _createClass ( _class , [ {
147
- key : 'componentDidMount' ,
148
- value : function componentDidMount ( ) {
149
- var _this2 = this ;
150
-
151
- [ // Bind callbacks
152
- 'onStart' , 'onEnd' , 'onAdd' , 'onSort' , 'onUpdate' , 'onRemove' , 'onFilter' , 'onMove' ] . forEach ( function ( name ) {
153
- _this2 . sortableOptions [ name ] = function ( evt ) {
154
- if ( name === 'onStart' ) {
155
- store . nextSibling = evt . item . nextElementSibling ;
156
- store . activeComponent = _this2 ;
157
- } else if ( name === 'onAdd' || name === 'onUpdate' ) {
158
- evt . from . insertBefore ( evt . item , store . nextSibling ) ;
159
-
160
- var oldIndex = evt . oldIndex ;
161
- var newIndex = evt . newIndex ;
162
- var items = _this2 . props . items ;
163
- var remoteItems = [ ] ;
164
-
165
- if ( name === 'onAdd' ) {
166
- remoteItems = store . activeComponent . props . items ;
167
- var item = remoteItems . splice ( oldIndex , 1 ) [ 0 ] ;
168
- items . splice ( newIndex , 0 , item ) ;
169
- } else {
170
- items . splice ( newIndex , 0 , items . splice ( oldIndex , 1 ) [ 0 ] ) ;
171
- }
172
-
173
- // Called by any change to the list (add / update / remove)
174
- _this2 . props . onSort ( items ) ;
175
-
176
- if ( store . activeComponent !== _this2 ) {
177
- store . activeComponent . props . onSort ( remoteItems ) ;
178
- }
115
+ _createClass ( _default , [ {
116
+ key : 'componentDidMount' ,
117
+ value : function componentDidMount ( ) {
118
+ var _this2 = this ;
119
+
120
+ var _props = this . props ;
121
+ var children = _props . children ;
122
+ var className = _props . className ;
123
+
124
+ var options = _objectWithoutProperties ( _props , [ 'children' , 'className' ] ) ;
125
+
126
+ [ 'onStart' , 'onEnd' , 'onAdd' , 'onSort' , 'onUpdate' , 'onRemove' , 'onFilter' , 'onMove' ] . forEach ( function ( name ) {
127
+ var eventHandler = options [ name ] ;
128
+
129
+ options [ name ] = function ( evt ) {
130
+ if ( name === 'onStart' ) {
131
+ store . nextSibling = evt . item . nextElementSibling ;
132
+ store . activeComponent = _this2 ;
133
+ } else if ( ( name === 'onAdd' || name === 'onUpdate' ) && _this2 . props . onChange ) {
134
+ var items = _this2 . sortable . toArray ( ) ;
135
+ var remote = store . activeComponent ;
136
+ var remoteItems = remote . sortable . toArray ( ) ;
137
+
138
+ evt . from . insertBefore ( evt . item , store . nextSibling ) ;
139
+
140
+ if ( remote !== _this2 ) {
141
+ if ( _typeof ( remote . props . group ) === 'object' && remote . props . group . pull === 'clone' ) {
142
+ // Remove the node with the same data-reactid
143
+ evt . item . parentNode . removeChild ( evt . item ) ;
179
144
}
180
145
181
- setTimeout ( function ( ) {
182
- _this2 . props [ name ] && _this2 . props [ name ] ( evt , _this2 . state . sortableInstance ) ;
183
- } , 0 ) ;
184
- } ;
185
- } ) ;
186
-
187
- var sortableComponent = this . refs [ refName ] ;
188
- this . initSortable ( sortableComponent ) ;
189
- }
190
- } , {
191
- key : 'componentDidUpdate' ,
192
- value : function componentDidUpdate ( prevProps , prevState ) {
193
- var model = this . sortableOptions . model ;
194
- var prevItems = prevProps [ model ] ;
195
- var currItems = this . props [ model ] ;
196
- if ( prevItems !== currItems ) {
197
- this . initSortable ( this . refs [ refName ] ) ;
198
- }
199
- }
200
- } , {
201
- key : 'componentWillUnmount' ,
202
- value : function componentWillUnmount ( ) {
203
- this . destroySortable ( ) ;
204
- }
205
- } , {
206
- key : 'initSortable' ,
207
- value : function initSortable ( sortableComponent ) {
208
- this . destroySortable ( ) ;
209
- var domNode = _reactDom2 . default . findDOMNode ( sortableComponent . refs [ this . sortableOptions . ref ] || sortableComponent ) ;
210
- var sortableInstance = _sortablejs2 . default . create ( domNode , this . sortableOptions ) ;
211
- this . setState ( { sortableInstance : sortableInstance } ) ;
212
- }
213
- } , {
214
- key : 'destroySortable' ,
215
- value : function destroySortable ( ) {
216
- if ( this . state . sortableInstance ) {
217
- this . state . sortableInstance . destroy ( ) ;
218
- this . setState ( { sortableInstance : null } ) ;
146
+ remote . props . onChange && remote . props . onChange ( remoteItems , remote . sortable ) ;
147
+ }
148
+
149
+ _this2 . props . onChange && _this2 . props . onChange ( items , _this2 . sortable ) ;
219
150
}
220
- }
221
- } , {
222
- key : 'render' ,
223
- value : function render ( ) {
224
- return _react2 . default . createElement ( Component , _extends ( { ref : refName } , this . props , this . state ) ) ;
225
- }
226
- } ] ) ;
227
-
228
- return _class ;
229
- } ( _react2 . default . Component ) , _class . propTypes = {
230
- items : _react2 . default . PropTypes . array . isRequired ,
231
- onSort : _react2 . default . PropTypes . func . isRequired
232
- } , _temp2 ;
233
- } ;
234
- } ;
235
151
236
- exports . default = SortableMixin ;
152
+ setTimeout ( function ( ) {
153
+ eventHandler && eventHandler ( evt ) ;
154
+ } , 0 ) ;
155
+ } ;
156
+ } ) ;
157
+
158
+ this . sortable = _sortablejs2 . default . create ( _reactDom2 . default . findDOMNode ( this ) , options ) ;
159
+ }
160
+ } , {
161
+ key : 'render' ,
162
+ value : function render ( ) {
163
+ var _props2 = this . props ;
164
+ var children = _props2 . children ;
165
+ var className = _props2 . className ;
166
+ var tag = _props2 . tag ;
167
+
168
+ return _react2 . default . DOM [ tag ] ( { className : className } , children ) ;
169
+ }
170
+ } ] ) ;
171
+
172
+ return _default ;
173
+ } ( _react2 . default . Component ) , _class . propTypes = {
174
+ onChange : _react2 . default . PropTypes . func ,
175
+ tag : _react2 . default . PropTypes . string
176
+ } , _class . defaultProps = {
177
+ tag : 'div'
178
+ } , _temp2 ) ;
179
+
180
+ exports . default = _default ;
237
181
238
182
/***/ } ,
239
183
/* 1 */
0 commit comments