File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -78,9 +78,9 @@ export class VscodeListItem extends VscElement {
7878 }
7979
8080 private _selectItem ( isCtrlDown : boolean ) {
81- const { selectedItems} = this . _listContextState ;
81+ const { selectedItems, multiSelect } = this . _listContextState ;
8282
83- if ( isCtrlDown ) {
83+ if ( multiSelect && isCtrlDown ) {
8484 if ( this . selected ) {
8585 this . selected = false ;
8686 selectedItems . delete ( this ) ;
@@ -132,7 +132,7 @@ export class VscodeListItem extends VscElement {
132132 const isCtrlDown = ev . ctrlKey ;
133133 this . _selectItem ( isCtrlDown ) ;
134134
135- if ( this . branch && ! isCtrlDown ) {
135+ if ( this . branch && ! ( this . _listContextState . multiSelect && isCtrlDown ) ) {
136136 this . closed = ! this . closed ;
137137 }
138138
Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ import type {VscodeList} from './vscode-list';
55export interface ListContext {
66 indent : number ;
77 arrows : boolean ;
8+ multiSelect : boolean ;
89 selectedItems : Set < VscodeListItem > ;
910 focusedItem : VscodeListItem | null ;
1011 focusItem : ( item : VscodeListItem ) => void ;
Original file line number Diff line number Diff line change @@ -31,8 +31,15 @@ export class VscodeList extends VscElement {
3131 @property ( { type : Number , reflect : true } )
3232 indent = 8 ;
3333
34- @property ( { type : Boolean , reflect : true } )
35- multiselect = false ;
34+ @property ( { type : Boolean , reflect : true , attribute : 'multi-select' } )
35+ set multiSelect ( val : boolean ) {
36+ this . _multiSelect = val ;
37+ this . _listContextState . multiSelect = val ;
38+ }
39+ get multiSelect ( ) : boolean {
40+ return this . _multiSelect ;
41+ }
42+ private _multiSelect = false ;
3643
3744 /** @internal */
3845 @property ( { type : String , reflect : true } )
@@ -45,6 +52,7 @@ export class VscodeList extends VscElement {
4552 private _listContextState : ListContext = {
4653 arrows : false ,
4754 indent : 8 ,
55+ multiSelect : false ,
4856 selectedItems : new Set ( ) ,
4957 focusedItem : null ,
5058 hasBranchItem : false ,
You can’t perform that action at this time.
0 commit comments