fix(composer): Temporary patch for broken focus

Long term, we need to refactor this so that it's either entirely controlled or uncontrolled. Potentially use focusin?
This commit is contained in:
Ben Gotow 2016-01-08 18:45:26 -08:00
parent 373d224f0c
commit bb9f9d4b84
2 changed files with 7 additions and 7 deletions

View file

@ -70,6 +70,7 @@ class ComposerEditor extends Component {
draftClientId: PropTypes.string,
initialSelectionSnapshot: PropTypes.object,
onFocus: PropTypes.func.isRequired,
onBlur: PropTypes.func.isRequired,
onFilePaste: PropTypes.func.isRequired,
onBodyChanged: PropTypes.func.isRequired,
parentActions: PropTypes.shape({
@ -85,6 +86,7 @@ class ComposerEditor extends Component {
};
this._coreExtension = {
onFocus: props.onFocus,
onBlur: props.onBlur,
};
}

View file

@ -269,8 +269,8 @@ class ComposerView extends React.Component
@_onChangeFocusedField(enabledFields[newI])
_onChangeFocusedField: (focusedField) =>
@setState {focusedField}
if focusedField in [Fields.To, Fields.Cc, Fields.Bcc]
@setState({focusedField})
if focusedField in Fields.ParticipantFields
@_lastFocusedParticipantField = focusedField
_onExpandParticipantFields: =>
@ -296,7 +296,7 @@ class ComposerView extends React.Component
ref={Fields.Subject}
placeholder="Subject"
value={@state.subject}
onFocus={ => @setState focusedField: Fields.Subject}
onFocus={ => @setState(focusedField: Fields.Subject) }
onChange={@_onChangeSubject}/>
</div>
@ -316,7 +316,8 @@ class ComposerView extends React.Component
scrollTo: @props.scrollTo
}
initialSelectionSnapshot: @_recoveredSelection
onFocus: @_onEditorFocus
onFocus: => @setState(focusedField: Fields.Body)
onBlur: => @setState(focusedField: null)
onFilePaste: @_onFilePaste
onBodyChanged: @_onBodyChanged
@ -340,9 +341,6 @@ class ComposerView extends React.Component
_onEditorBodyDidRender: =>
@_applyFieldFocus()
_onEditorFocus: =>
@setState(focusedField: Fields.Body)
# The contenteditable decides when to request a scroll based on the
# position of the cursor and its relative distance to this composer
# component. We provide it our boundingClientRect so it can calculate