11import 'reflect-metadata' ;
22import React from 'react' ;
3- import { Float , IStatusBarItem } from 'mo/model' ;
3+ import {
4+ Float ,
5+ IStatusBarItem ,
6+ ProblemsEvent ,
7+ IProblemsTreeNode ,
8+ } from 'mo/model' ;
49import { Controller } from 'mo/react/controller' ;
510import {
611 IPanelService ,
@@ -20,6 +25,7 @@ import { ProblemsPaneView, ProblemsStatusBarView } from 'mo/workbench/problems';
2025import { connect } from 'mo/react' ;
2126export interface IProblemsController extends Partial < Controller > {
2227 onClick ?: ( e : React . MouseEvent , item : IStatusBarItem ) => void ;
28+ onSelect ?: ( node : IProblemsTreeNode ) => void ;
2329}
2430@singleton ( )
2531export class ProblemsController
@@ -82,7 +88,9 @@ export class ProblemsController
8288 ProblemsPaneView
8389 ) ;
8490 const problemsPanel = builtInPanelProblems ;
85- problemsPanel . renderPane = ( ) => < ProblemsView /> ;
91+ problemsPanel . renderPane = ( ) => (
92+ < ProblemsView onSelect = { this . onSelect } />
93+ ) ;
8694
8795 this . panelService . add ( problemsPanel ) ;
8896 this . panelService . setActive ( problemsPanel . id ) ;
@@ -96,4 +104,8 @@ export class ProblemsController
96104 name : PROBLEM_MODEL_NAME ,
97105 } ) ;
98106 }
107+
108+ public onSelect = ( node : IProblemsTreeNode ) => {
109+ this . emit ( ProblemsEvent . onSelect , node ) ;
110+ } ;
99111}
0 commit comments