@@ -27,9 +27,9 @@ export default class StagingView {
2727 this . props = props ;
2828 atom . config . observe ( 'github.keyboardNavigationDelay' , value => {
2929 if ( value === 0 ) {
30- this . debouncedDidChangeSelectedItem = this . didChangeSelectedItem . bind ( this ) ;
30+ this . debouncedDidChangeSelectedItem = this . didChangeSelectedItems . bind ( this ) ;
3131 } else {
32- this . debouncedDidChangeSelectedItem = debounce ( this . didChangeSelectedItem . bind ( this ) , value ) ;
32+ this . debouncedDidChangeSelectedItem = debounce ( this . didChangeSelectedItems . bind ( this ) , value ) ;
3333 }
3434 } ) ;
3535 this . mouseSelectionInProgress = false ;
@@ -136,10 +136,17 @@ export default class StagingView {
136136 if ( headItem ) { this . listElementsByItem . get ( headItem ) . scrollIntoViewIfNeeded ( ) ; }
137137 }
138138
139- didChangeSelectedItem ( ) {
140- const selectedItem = this . selection . getHeadItem ( ) ;
141- if ( ! this . isFocused ( ) || ! selectedItem ) { return ; }
139+ didChangeSelectedItems ( ) {
140+ const selectedItems = Array . from ( this . selection . getSelectedItems ( ) ) ;
141+ if ( ! this . isFocused ( ) || ! selectedItems . length ) { return ; }
142142
143+
144+ if ( selectedItems . length === 1 ) {
145+ this . didSelectSingleItem ( selectedItems [ 0 ] ) ;
146+ }
147+ }
148+
149+ didSelectSingleItem ( selectedItem ) {
143150 if ( this . selection . getActiveListKey ( ) === 'conflicts' ) {
144151 if ( this . props . didSelectMergeConflictFile ) {
145152 this . props . didSelectMergeConflictFile ( selectedItem . filePath ) ;
@@ -187,7 +194,7 @@ export default class StagingView {
187194 if ( this . mouseSelectionInProgress ) {
188195 this . mouseSelectionInProgress = false ;
189196 this . selection . coalesce ( ) ;
190- this . didChangeSelectedItem ( ) ;
197+ this . didChangeSelectedItems ( ) ;
191198 }
192199 }
193200
0 commit comments