File tree Expand file tree Collapse file tree 2 files changed +12
-9
lines changed Expand file tree Collapse file tree 2 files changed +12
-9
lines changed Original file line number Diff line number Diff line change 51
51
deselectItems ( items = this . selectedItems , preventUpdate ) {
52
52
let selectedItems = [ ] ;
53
53
54
- function getNodeId ( i ) {
55
- return i [ this . itemIdName ] ;
56
- }
54
+ const getNodeId = ( i ) => i [ this . itemIdName ] ;
57
55
58
56
// Map to Ids for perf
59
- selectedItems = this . selectedItems . map ( getNodeId , this ) ;
60
- passedItems = items . map ( getNodeId , this ) ;
57
+ selectedItems = this . selectedItems . map ( getNodeId ) ;
58
+ passedItems = items . map ( getNodeId ) ;
61
59
62
60
// Filter by Ids for perf
63
61
selectedItems = selectedItems
64
62
. filter ( i => passedItems . indexOf ( i ) === - 1 ) ;
65
63
66
64
// Update selectedItems if there was an item removed
67
65
if ( this . selectedItems . length !== selectedItems . length ) {
68
- function getItemById ( id ) {
69
- return this . selectedItems . find ( ( i ) => getNodeId ( i ) === id ) ;
70
- }
66
+ const getItemById = ( id ) => this . selectedItems . find ( ( i ) => getNodeId ( i ) === id ) ;
71
67
72
68
// Re-map ids to items if not empty
73
- if ( selectedItems . length > 0 ) selectedItems = selectedItems . map ( getItemById , this ) ;
69
+ if ( selectedItems . length > 0 ) selectedItems = selectedItems . map ( getItemById ) ;
74
70
75
71
this . set ( 'selectedItems' , selectedItems ) ;
76
72
if ( ! preventUpdate ) this . _updateState ( items , 'off' ) ;
Original file line number Diff line number Diff line change 44
44
element . deselectItems ( [ item ] ) ;
45
45
expect ( element . set . calledWithMatch ( 'selectedItems' , [ ] ) ) . to . equal ( true ) ;
46
46
} ) ;
47
+ it ( 'should remove only passed items in items from selectedItems when no children associated' , ( ) => {
48
+ const item = { id : 'test' } ;
49
+ const item2 = { id : 'test2' } ;
50
+ element . selectedItems = [ item , item2 ] ;
51
+ element . deselectItems ( [ item ] ) ;
52
+ expect ( element . set . calledWithMatch ( 'selectedItems' , [ item2 ] ) ) . to . equal ( true ) ;
53
+ } ) ;
47
54
it ( 'should call _updateState when !preventUpdate' , ( ) => {
48
55
const item = { id : 'test' } ;
49
56
element . selectedItems = [ item ] ;
You can’t perform that action at this time.
0 commit comments