@@ -9,7 +9,7 @@ var DIFF = {
9
9
EQUAL : 0
10
10
} ;
11
11
12
- var DEBOUNCE_WAIT = 600 ; // ms
12
+ var DEBOUNCE_WAIT = 300 ; // ms
13
13
var DEBOUNCE_OPTS = {
14
14
trailing : true // We want to update after the delay only
15
15
} ;
@@ -48,27 +48,37 @@ var DiffArea = React.createClass({
48
48
return state ;
49
49
} ,
50
50
51
- onChange : function ( rightState ) {
51
+ onRightChanged : function ( rightState ) {
52
52
// Text changed ?
53
53
var contentChanged = this . state . rightState . getCurrentContent ( )
54
54
!== rightState . getCurrentContent ( ) ;
55
-
56
55
// Update diffs
57
56
if ( contentChanged ) {
58
57
this . debouncedUpdateDiffs ( ) ;
59
58
}
60
-
61
59
// Update the EditorState
62
60
this . setState ( {
63
- leftState : this . state . leftState ,
64
61
rightState : rightState
65
62
} ) ;
66
63
} ,
67
64
65
+ onLeftChanged : function ( leftState ) {
66
+ var contentChanged = this . state . leftState . getCurrentContent ( )
67
+ !== leftState . getCurrentContent ( ) ;
68
+ // Update diffs
69
+ if ( contentChanged ) {
70
+ this . debouncedUpdateDiffs ( ) ;
71
+ }
72
+ // Update the EditorState
73
+ this . setState ( {
74
+ leftState : leftState
75
+ } ) ;
76
+ } ,
77
+
68
78
// We use a debounced version of it
69
79
updateDiffs : function ( ) {
70
80
var newState = { } ;
71
- var left = this . props . left ;
81
+ var left = this . state . leftState . getCurrentContent ( ) . getPlainText ( ) ;
72
82
var right = this . state . rightState . getCurrentContent ( ) . getPlainText ( ) ;
73
83
74
84
var diffs = computeDiff ( left , right ) ;
@@ -91,13 +101,13 @@ var DiffArea = React.createClass({
91
101
< div className = 'left' >
92
102
< Draft . Editor
93
103
editorState = { this . state . leftState }
94
- readOnly = { true }
104
+ onChange = { this . onLeftChanged }
95
105
/>
96
106
</ div >
97
107
< div className = 'right' >
98
108
< Draft . Editor
99
109
editorState = { this . state . rightState }
100
- onChange = { this . onChange }
110
+ onChange = { this . onRightChanged }
101
111
/>
102
112
</ div >
103
113
</ div > ;
0 commit comments