@@ -84,6 +84,10 @@ const INDENTATION_AMOUNT = 2;
84
84
class Editor extends React . Component {
85
85
constructor ( props ) {
86
86
super ( props ) ;
87
+ this . state = {
88
+ currentLine : 1
89
+ } ;
90
+ this . _cm = null ;
87
91
this . tidyCode = this . tidyCode . bind ( this ) ;
88
92
89
93
this . updateLintingMessageAccessibility = debounce ( ( annotations ) => {
@@ -195,12 +199,9 @@ class Editor extends React.Component {
195
199
} , 1000 )
196
200
) ;
197
201
198
- this . _cm . on ( 'keyup' , ( ) => {
199
- const temp = this . props . t ( 'Editor.KeyUpLineNumber' , {
200
- lineNumber : parseInt ( this . _cm . getCursor ( ) . line + 1 , 10 )
201
- } ) ;
202
- document . getElementById ( 'current-line' ) . innerHTML = temp ;
203
- } ) ;
202
+ if ( this . _cm ) {
203
+ this . _cm . on ( 'keyup' , this . handleKeyUp ) ;
204
+ }
204
205
205
206
this . _cm . on ( 'keydown' , ( _cm , e ) => {
206
207
// Show hint
@@ -336,7 +337,9 @@ class Editor extends React.Component {
336
337
}
337
338
338
339
componentWillUnmount ( ) {
339
- this . _cm = null ;
340
+ if ( this . _cm ) {
341
+ this . _cm . off ( 'keyup' , this . handleKeyUp ) ;
342
+ }
340
343
this . props . provideController ( null ) ;
341
344
}
342
345
@@ -366,6 +369,11 @@ class Editor extends React.Component {
366
369
return updatedFile ;
367
370
}
368
371
372
+ handleKeyUp = ( ) => {
373
+ const lineNumber = parseInt ( this . _cm . getCursor ( ) . line + 1 , 10 ) ;
374
+ this . setState ( { currentLine : lineNumber } ) ;
375
+ } ;
376
+
369
377
showFind ( ) {
370
378
this . _cm . execCommand ( 'findPersistent' ) ;
371
379
}
@@ -522,6 +530,8 @@ class Editor extends React.Component {
522
530
this . props . file . fileType === 'folder' || this . props . file . url
523
531
} ) ;
524
532
533
+ const { currentLine } = this . state ;
534
+
525
535
return (
526
536
< MediaQuery minWidth = { 770 } >
527
537
{ ( matches ) =>
@@ -565,7 +575,10 @@ class Editor extends React.Component {
565
575
name = { this . props . file . name }
566
576
/>
567
577
) : null }
568
- < EditorAccessibility lintMessages = { this . props . lintMessages } />
578
+ < EditorAccessibility
579
+ lintMessages = { this . props . lintMessages }
580
+ currentLine = { currentLine }
581
+ />
569
582
</ section >
570
583
) : (
571
584
< EditorContainer expanded = { this . props . isExpanded } >
@@ -591,7 +604,10 @@ class Editor extends React.Component {
591
604
name = { this . props . file . name }
592
605
/>
593
606
) : null }
594
- < EditorAccessibility lintMessages = { this . props . lintMessages } />
607
+ < EditorAccessibility
608
+ lintMessages = { this . props . lintMessages }
609
+ currentLine = { currentLine }
610
+ />
595
611
</ section >
596
612
</ EditorContainer >
597
613
)
0 commit comments