@@ -92,6 +92,12 @@ export default class ArticleDetail extends React.Component {
9292 if ( isModalOpen ( ) ) return true
9393 this . handleUncache ( )
9494 }
95+ this . titleHandler = e => {
96+ if ( isModalOpen ( ) ) return true
97+ let titleEl = ReactDOM . findDOMNode ( this . refs . title )
98+ titleEl . focus ( )
99+ titleEl . select ( )
100+ }
95101 this . editHandler = e => {
96102 if ( isModalOpen ( ) ) return true
97103 this . refs . editor . switchEditMode ( )
@@ -112,6 +118,7 @@ export default class ArticleDetail extends React.Component {
112118 // ipc.on('detail-save', this.saveHandler)
113119 ipc . on ( 'detail-delete' , this . deleteHandler )
114120 ipc . on ( 'detail-uncache' , this . uncacheHandler )
121+ ipc . on ( 'detail-title' , this . titleHandler )
115122 ipc . on ( 'detail-edit' , this . editHandler )
116123 }
117124
@@ -121,6 +128,7 @@ export default class ArticleDetail extends React.Component {
121128 // ipc.removeListener('detail-save', this.saveHandler)
122129 ipc . removeListener ( 'detail-delete' , this . deleteHandler )
123130 ipc . removeListener ( 'detail-uncache' , this . uncacheHandler )
131+ ipc . removeListener ( 'detail-title' , this . titleHandler )
124132 ipc . removeListener ( 'detail-edit' , this . editHandler )
125133 }
126134
@@ -192,6 +200,7 @@ export default class ArticleDetail extends React.Component {
192200 } )
193201
194202 dispatch ( updateArticle ( article ) )
203+ this . switchEditMode ( )
195204 }
196205
197206 handleContentChange ( value ) {
@@ -222,14 +231,18 @@ export default class ArticleDetail extends React.Component {
222231 handleModeSelectKeyDown ( e ) {
223232 if ( e . keyCode === 9 && ! e . shiftKey ) {
224233 e . preventDefault ( )
225- this . refs . editor . switchEditMode ( )
234+ this . switchEditMode ( )
226235 }
227236 if ( e . keyCode === 9 && e . shiftKey ) {
228237 e . preventDefault ( )
229238 ReactDOM . findDOMNode ( this . refs . title ) . focus ( )
230239 }
231240 }
232241
242+ switchEditMode ( ) {
243+ this . refs . editor . switchEditMode ( )
244+ }
245+
233246 render ( ) {
234247 let { folders, status, tags, activeArticle, modified, user } = this . props
235248 if ( activeArticle == null ) return this . renderEmpty ( )
0 commit comments