@@ -23,14 +23,15 @@ import DevToolsModel from './model/devToolsModel';
2323import DevToolsView from './views/devToolsView' ;
2424
2525class Controller {
26- constructor ( ) {
26+ constructor ( options ) {
2727 this . _model = null ;
2828 this . _view = null ;
2929 this . _router = null ;
30+ this . _options = options ;
3031 }
3132 start ( ) {
3233 this . _router = new esp . Router ( ) ;
33- this . _model = new DevToolsModel ( this . _router ) ;
34+ this . _model = new DevToolsModel ( this . _router , this . _options ) ;
3435 this . _router . addModel ( DevToolsModel . modelId , this . _model ) ;
3536 window . __espAnalyticsMonitor = new AnalyticsMonitor ( DevToolsModel . modelId , this . _router ) ;
3637 this . _model . observeEvents ( ) ;
@@ -47,30 +48,37 @@ class Controller {
4748 _openDevToolsOnKeyboardShortcut ( event ) {
4849 event = event || window . event ;
4950 if ( event . keyCode == 68 && event . ctrlKey && event . altKey ) {
50- if ( this . _view === null ) {
51- this . _view = new DevToolsView ( DevToolsModel . modelId , this . _router ) ;
52- this . _view . start ( ) ;
53- this . _view . addDisposable (
54- ( ) => {
55- this . _view = null ;
56- }
57- ) ;
58- }
51+ this . tryOpenDevTools ( ) ;
52+ }
53+ }
54+ tryOpenDevTools ( ) {
55+ if ( this . _view === null ) {
56+ this . _view = new DevToolsView ( DevToolsModel . modelId , this . _router ) ;
57+ this . _view . start ( ) ;
58+ this . _view . addDisposable (
59+ ( ) => {
60+ this . _view = null ;
61+ }
62+ ) ;
5963 }
6064 }
6165}
6266
6367let isRegistered = false ;
6468let controller ;
6569
66- export function registerDevTools ( ) {
70+ export function registerDevTools ( options ) {
6771 if ( isRegistered ) {
6872 return ;
6973 }
7074 if ( typeof window === 'undefined' ) {
7175 throw new Error ( 'window is undefined. esp-devtools needs window to add a hook to window for all routers to interact with' ) ;
7276 }
77+ let devToolsOptions = options || { } ;
7378 isRegistered = true ;
74- controller = new Controller ( ) ;
79+ controller = new Controller ( devToolsOptions ) ;
7580 controller . start ( ) ;
81+ if ( devToolsOptions . displayOnStartup ) {
82+ controller . tryOpenDevTools ( ) ;
83+ }
7684}
0 commit comments