Set is-focused class on React editor's wrapper view for now

This commit is contained in:
Nathan Sobo
2014-06-11 08:37:16 -06:00
parent 5add0e4f70
commit 1b026cc805
2 changed files with 7 additions and 0 deletions

View File

@@ -918,8 +918,10 @@ describe "EditorComponent", ->
expect(document.activeElement).toBe document.body
inputNode.focus()
expect(node.classList.contains('is-focused')).toBe true
expect(wrapperView.hasClass('is-focused')).toBe true
inputNode.blur()
expect(node.classList.contains('is-focused')).toBe false
expect(wrapperView.hasClass('is-focused')).toBe false
describe "selection handling", ->
cursor = null

View File

@@ -170,6 +170,7 @@ EditorComponent = React.createClass
componentDidUpdate: (prevProps, prevState) ->
@pendingChanges.length = 0
@refreshingScrollbars = false
@updateParentViewFocusedClassIfNeeded(prevState)
@measureScrollbars() if @measuringScrollbars
@measureLineHeightAndCharWidthsIfNeeded(prevState)
@pauseOverflowChangedEvents()
@@ -784,3 +785,7 @@ EditorComponent = React.createClass
top = clientY - scrollViewClientRect.top + editor.getScrollTop()
left = clientX - scrollViewClientRect.left + editor.getScrollLeft()
{top, left}
updateParentViewFocusedClassIfNeeded: (prevState) ->
if prevState.focused isnt @state.focused
@props.parentView.toggleClass('is-focused', @props.focused)