@@ -191,7 +191,7 @@ class SelectableGroup extends Component<TSelectableGroupProps> {
191191
192192 registerSelectable = ( selectableItem : TSelectableItem ) => {
193193 this . registry . add ( selectableItem )
194- if ( selectableItem . state . selected ) {
194+ if ( selectableItem . state . isSelected ) {
195195 this . selectedItems . add ( selectableItem )
196196 }
197197 }
@@ -200,6 +200,8 @@ class SelectableGroup extends Component<TSelectableGroupProps> {
200200 this . registry . delete ( selectableItem )
201201 this . selectedItems . delete ( selectableItem )
202202 this . selectingItems . delete ( selectableItem )
203+
204+ this . props . onSelectionFinish ! ( [ ...this . selectedItems ] )
203205 }
204206
205207 toggleSelectionMode ( ) {
@@ -343,23 +345,23 @@ class SelectableGroup extends Component<TSelectableGroupProps> {
343345 }
344346
345347 const isCollided = doObjectsCollide ( selectboxBounds , item . bounds ! , tolerance , this . props . delta )
346- const { selecting , selected } = item . state
348+ const { isSelecting , isSelected } = item . state
347349
348350 if ( isFromClick && isCollided ) {
349- if ( selected ) {
351+ if ( isSelected ) {
350352 this . selectedItems . delete ( item )
351353 } else {
352354 this . selectedItems . add ( item )
353355 }
354356
355- item . setState ( { selected : ! selected } )
357+ item . setState ( { isSelected : ! isSelected } )
356358
357359 return ( this . clickedItem = item )
358360 }
359361
360362 if ( ! isFromClick && isCollided ) {
361- if ( selected && enableDeselect && ( ! this . selectionStarted || mixedDeselect ) ) {
362- item . setState ( { selected : false } )
363+ if ( isSelected && enableDeselect && ( ! this . selectionStarted || mixedDeselect ) ) {
364+ item . setState ( { isSelected : false } )
363365 item . deselected = true
364366
365367 this . deselectionStarted = true
@@ -369,8 +371,8 @@ class SelectableGroup extends Component<TSelectableGroupProps> {
369371
370372 const canSelect = mixedDeselect ? ! item . deselected : ! this . deselectionStarted
371373
372- if ( ! selecting && ! selected && canSelect ) {
373- item . setState ( { selecting : true } )
374+ if ( ! isSelecting && ! isSelected && canSelect ) {
375+ item . setState ( { isSelecting : true } )
374376
375377 this . selectionStarted = true
376378 this . selectingItems . add ( item )
@@ -379,9 +381,9 @@ class SelectableGroup extends Component<TSelectableGroupProps> {
379381 }
380382 }
381383
382- if ( ! isFromClick && ! isCollided && selecting ) {
384+ if ( ! isFromClick && ! isCollided && isSelecting ) {
383385 if ( this . selectingItems . has ( item ) ) {
384- item . setState ( { selecting : false } )
386+ item . setState ( { isSelecting : false } )
385387
386388 this . selectingItems . delete ( item )
387389
@@ -394,7 +396,7 @@ class SelectableGroup extends Component<TSelectableGroupProps> {
394396
395397 clearSelection = ( ) => {
396398 for ( const item of this . selectedItems . values ( ) ) {
397- item . setState ( { selected : false } )
399+ item . setState ( { isSelected : false } )
398400 this . selectedItems . delete ( item )
399401 }
400402
@@ -407,8 +409,8 @@ class SelectableGroup extends Component<TSelectableGroupProps> {
407409 this . updateWhiteListNodes ( )
408410
409411 for ( const item of this . registry . values ( ) ) {
410- if ( ! this . isInIgnoreList ( item . node ) && ! item . state . selected ) {
411- item . setState ( { selected : true } )
412+ if ( ! this . isInIgnoreList ( item . node ) && ! item . state . isSelected ) {
413+ item . setState ( { isSelected : true } )
412414 this . selectedItems . add ( item )
413415 }
414416 }
@@ -532,7 +534,7 @@ class SelectableGroup extends Component<TSelectableGroupProps> {
532534 this . handleClick ( evt , pageY , pageX )
533535 } else {
534536 for ( const item of this . selectingItems . values ( ) ) {
535- item . setState ( { selected : true , selecting : false } )
537+ item . setState ( { isSelected : true , isSelecting : false } )
536538 }
537539 this . selectedItems = new Set ( [ ...this . selectedItems , ...this . selectingItems ] )
538540 this . selectingItems . clear ( )
0 commit comments