@@ -114,13 +114,18 @@ class App extends Component {
114
114
const iframe = document . querySelector ( 'iframe' ) ;
115
115
const sidebar = this . sidebarRef . current ;
116
116
const opener = this . openerRef . current ;
117
+ let iframeMouseOver = false ;
117
118
119
+ window . focus ( ) ;
118
120
window . addEventListener ( 'blur' , ( ) => {
119
- if ( document . activeElement === iframe ) {
120
- this . setState ( { sidebar : false } ) ;
121
- }
121
+ if ( iframeMouseOver ) {
122
+ this . setState ( { sidebar : false } ) ;
123
+ }
122
124
} ) ;
123
125
126
+ iframe . addEventListener ( 'mouseover' , ( ) => iframeMouseOver = true ) ;
127
+ iframe . addEventListener ( 'mouseout' , ( ) => iframeMouseOver = false ) ;
128
+
124
129
document . addEventListener ( 'click' , ( e ) => {
125
130
if ( e . target === opener ) {
126
131
return ;
@@ -197,7 +202,7 @@ class App extends Component {
197
202
this . setState ( { view, codeView : false } ) ;
198
203
}
199
204
200
- toggleView ( e ) {
205
+ toggleView ( ) {
201
206
this . setState ( { codeView : ! this . state . codeView , view : 'desktop' , markup : this . markupRef . current . innerHTML } )
202
207
}
203
208
@@ -225,7 +230,7 @@ class App extends Component {
225
230
return viewList . map ( ( v , k ) => < button key = { k } className = { `device${ view === v . name ? ' is-active' : '' } ` } data-view = { v . name } onClick = { this . changeView } > { v . icon } </ button > ) ;
226
231
}
227
232
228
- toggleSidebar ( e ) {
233
+ toggleSidebar ( ) {
229
234
this . setState ( { sidebar : ! this . state . sidebar } ) ;
230
235
}
231
236
0 commit comments