@@ -101,6 +101,8 @@ export default class ArticleDetail extends React.Component {
101101 isModeChanged : false ,
102102 openShareDropdown : false
103103 }
104+
105+ if ( props . activeArticle != null && props . activeArticle . mode === 'markdown' ) this . state . previewMode = true
104106 }
105107
106108 componentDidMount ( ) {
@@ -120,10 +122,16 @@ export default class ArticleDetail extends React.Component {
120122 let nextModified = nextArticle != null ? _ . findWhere ( nextProps . modified , { key : nextArticle . key } ) : null
121123
122124 let article = Object . assign ( { } , nextProps . activeArticle , nextModified )
125+ let nextState = {
126+ article,
127+ previewMode : false
128+ }
129+
130+ if ( article . mode === 'markdown' ) {
131+ nextState . previewMode = true
132+ }
123133
124- this . setState ( {
125- article
126- } )
134+ this . setState ( nextState )
127135 }
128136 }
129137
@@ -234,7 +242,7 @@ export default class ArticleDetail extends React.Component {
234242 this . setState ( {
235243 previewMode : false
236244 } , function ( ) {
237- console . log ( this . state . cursorPosition )
245+ if ( this . state . cursorPosition == null ) return true
238246 this . refs . code . moveCursorTo ( this . state . cursorPosition . row , this . state . cursorPosition . column )
239247 this . refs . code . scrollToLine ( this . state . firstVisibleRow )
240248 this . refs . code . editor . focus ( )
@@ -281,6 +289,14 @@ export default class ArticleDetail extends React.Component {
281289 />
282290
283291 < div className = 'ArticleDetail-info-control' >
292+ {
293+ this . state . article . mode === 'markdown'
294+ ? < button onClick = { e => this . handleTogglePreviewButtonClick ( e ) } >
295+ { this . state . previewMode ? < i className = 'fa fa-fw fa-code' /> : < i className = 'fa fa-fw fa-image' /> } < span className = 'tooltip' > Toggle preview (⌘ + p)</ span >
296+ </ button >
297+ : null
298+ }
299+
284300 < ShareButton
285301 article = { activeArticle }
286302 user = { user }
0 commit comments