@@ -7,7 +7,7 @@ import { IActivityBar, IActivityBarItem } from 'mo/model/workbench/activityBar';
7
7
import ActivityBarItem from './activityBarItem' ;
8
8
9
9
export function ActivityBar ( props : IActivityBar ) {
10
- const { data = [ ] , render, selected, onClick } = props ;
10
+ const { data = [ ] , render, selected, onClick, onSelect } = props ;
11
11
12
12
if ( render ) {
13
13
return (
@@ -17,20 +17,25 @@ export function ActivityBar(props: IActivityBar) {
17
17
) ;
18
18
}
19
19
20
+ const onClickBar = ( e : React . MouseEvent , item : IActivityBarItem ) => {
21
+ console . log ( 'ActivityBar onClick:' , e ) ;
22
+ if ( onClick ) onClick ( e , item ) ;
23
+ if ( onSelect ) {
24
+ onSelect ( item . id || '' , item ) ;
25
+ }
26
+ } ;
27
+
20
28
const normalBarItems = data ?. filter ( ( item : IActivityBarItem ) => ! item . type || item . type === 'normal' ) || [ ] ;
21
29
const globalBarItems = data ?. filter ( ( item : IActivityBarItem ) => item . type && item . type === 'global' ) || [ ] ;
22
30
23
- const renderItems = ( item : IActivityBarItem , index : number ) => (
24
- < ActivityBarItem key = { item . id } { ...item } data-index = { index } checked = { selected === item . id } />
25
- ) ;
26
-
27
- const click = ( e : React . MouseEvent ) => {
28
- console . log ( 'ActivityBar onClick:' , e ) ;
29
- if ( onClick ) onClick ( e , { } as any ) ;
31
+ const renderItems = ( item : IActivityBarItem , index : number ) => {
32
+ return (
33
+ < ActivityBarItem key = { item . id } { ...item } onClick = { onClickBar } data-index = { index } checked = { selected === item . id } />
34
+ ) ;
30
35
} ;
31
36
32
37
return (
33
- < div className = { prefixClaName ( ID_ACTIVITY_BAR ) } id = { ID_ACTIVITY_BAR } onClick = { click } >
38
+ < div className = { prefixClaName ( ID_ACTIVITY_BAR ) } id = { ID_ACTIVITY_BAR } >
34
39
< div className = { prefixClaName ( 'container' , ID_ACTIVITY_BAR ) } >
35
40
< ul className = { 'normal-items' } >
36
41
{ normalBarItems . map ( renderItems ) }
0 commit comments