@@ -49,11 +49,14 @@ export class ReactSortable<T extends ItemInterface> extends Component<
49
49
this . ref = createRef < HTMLElement > ( ) ;
50
50
51
51
// make all state false because we can't change sortable unless a mouse gesture is made.
52
- const newList = props . list . map ( ( item ) => ( {
53
- ...item ,
54
- chosen : false ,
55
- selected : false ,
56
- } ) ) ;
52
+ const newList = [ ...props . list ] ;
53
+
54
+ newList . forEach ( ( item : T ) => {
55
+ Object . assign ( item , {
56
+ chosen : false ,
57
+ selected : false ,
58
+ } ) ;
59
+ } )
57
60
58
61
props . setList ( newList , this . sortable , store ) ;
59
62
invariant (
@@ -235,10 +238,14 @@ Please read the updated README.md at https://github.com/SortableJS/react-sortabl
235
238
const otherList = [ ...store . dragging ! . props . list ] ;
236
239
const customs = createCustoms ( evt , otherList ) ;
237
240
removeNodes ( customs ) ;
238
- const newList = handleStateAdd ( customs , list , evt , clone ) . map ( ( item ) => ( {
239
- ...item ,
240
- selected : false ,
241
- } ) ) ;
241
+
242
+ const newList = handleStateAdd ( customs , list , evt , clone )
243
+
244
+ newList . forEach ( ( item ) => {
245
+ Object . assign ( item , {
246
+ selected : false ,
247
+ } ) ;
248
+ } ) ;
242
249
setList ( newList , this . sortable , store ) ;
243
250
}
244
251
@@ -289,7 +296,11 @@ Please read the updated README.md at https://github.com/SortableJS/react-sortabl
289
296
}
290
297
291
298
// remove item.selected from list
292
- newList = newList . map ( ( item ) => ( { ...item , selected : false } ) ) ;
299
+ newList . forEach ( ( item : T ) => {
300
+ Object . assign ( item , {
301
+ selected : false ,
302
+ } ) ;
303
+ } )
293
304
setList ( newList , this . sortable , store ) ;
294
305
}
295
306
@@ -314,10 +325,9 @@ Please read the updated README.md at https://github.com/SortableJS/react-sortabl
314
325
const { list, setList } = this . props ;
315
326
const newList = list . map ( ( item , index ) => {
316
327
if ( index === evt . oldIndex ) {
317
- return {
318
- ...item ,
328
+ Object . assign ( item , {
319
329
chosen : true ,
320
- } ;
330
+ } ) ;
321
331
}
322
332
return item ;
323
333
} ) ;
@@ -328,10 +338,9 @@ Please read the updated README.md at https://github.com/SortableJS/react-sortabl
328
338
const { list, setList } = this . props ;
329
339
const newList = list . map ( ( item , index ) => {
330
340
if ( index === evt . oldIndex ) {
331
- return {
332
- ...item ,
341
+ Object . assign ( item , {
333
342
chosen : false ,
334
- } ;
343
+ } ) ;
335
344
}
336
345
return item ;
337
346
} ) ;
@@ -345,7 +354,12 @@ Please read the updated README.md at https://github.com/SortableJS/react-sortabl
345
354
346
355
onSelect ( evt : MultiDragEvent ) : void {
347
356
const { list, setList } = this . props ;
348
- const newList = list . map ( ( item ) => ( { ...item , selected : false } ) ) ;
357
+ const newList = [ ...list ] ;
358
+ newList . forEach ( ( item ) => {
359
+ Object . assign ( item , {
360
+ chosen : false ,
361
+ } ) ;
362
+ } ) ;
349
363
evt . newIndicies . forEach ( ( curr ) => {
350
364
const index = curr . index ;
351
365
if ( index === - 1 ) {
@@ -362,7 +376,12 @@ Please read the updated README.md at https://github.com/SortableJS/react-sortabl
362
376
363
377
onDeselect ( evt : MultiDragEvent ) : void {
364
378
const { list, setList } = this . props ;
365
- const newList = list . map ( ( item ) => ( { ...item , selected : false } ) ) ;
379
+ const newList = [ ...list ] ;
380
+ newList . forEach ( ( item ) => {
381
+ Object . assign ( item , {
382
+ chosen : false ,
383
+ } ) ;
384
+ } ) ;
366
385
evt . newIndicies . forEach ( ( curr ) => {
367
386
const index = curr . index ;
368
387
if ( index === - 1 ) return ;
0 commit comments