1
1
import 'reflect-metadata' ;
2
2
import React from 'react' ;
3
- import { Float , IStatusBarItem } from 'mo/model' ;
3
+ import {
4
+ Float ,
5
+ IStatusBarItem ,
6
+ ProblemsEvent ,
7
+ IProblemsTreeNode ,
8
+ } from 'mo/model' ;
4
9
import { Controller } from 'mo/react/controller' ;
5
10
import {
6
11
IPanelService ,
@@ -20,6 +25,7 @@ import { ProblemsPaneView, ProblemsStatusBarView } from 'mo/workbench/problems';
20
25
import { connect } from 'mo/react' ;
21
26
export interface IProblemsController extends Partial < Controller > {
22
27
onClick ?: ( e : React . MouseEvent , item : IStatusBarItem ) => void ;
28
+ onSelect ?: ( node : IProblemsTreeNode ) => void ;
23
29
}
24
30
@singleton ( )
25
31
export class ProblemsController
@@ -82,7 +88,9 @@ export class ProblemsController
82
88
ProblemsPaneView
83
89
) ;
84
90
const problemsPanel = builtInPanelProblems ;
85
- problemsPanel . renderPane = ( ) => < ProblemsView /> ;
91
+ problemsPanel . renderPane = ( ) => (
92
+ < ProblemsView onSelect = { this . onSelect } />
93
+ ) ;
86
94
87
95
this . panelService . add ( problemsPanel ) ;
88
96
this . panelService . setActive ( problemsPanel . id ) ;
@@ -96,4 +104,8 @@ export class ProblemsController
96
104
name : PROBLEM_MODEL_NAME ,
97
105
} ) ;
98
106
}
107
+
108
+ public onSelect = ( node : IProblemsTreeNode ) => {
109
+ this . emit ( ProblemsEvent . onSelect , node ) ;
110
+ } ;
99
111
}
0 commit comments