Handle focus on hidden input when shadow DOM is disabled

Signed-off-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
This commit is contained in:
Nathan Sobo
2014-11-04 16:34:11 -07:00
parent 2b2149bca1
commit badf1725fa

View File

@@ -95,7 +95,11 @@ class TextEditorElement extends HTMLElement
lineOverdrawMargin: @lineOverdrawMargin
)
@component = React.renderComponent(@componentDescriptor, @rootElement)
@component.refs.input.getDOMNode().addEventListener 'blur', => @dispatchEvent(new FocusEvent('blur', bubbles: false))
unless atom.config.get('editor.useShadowDOM')
inputNode = @component.refs.input.getDOMNode()
inputNode.addEventListener 'focus', @focused.bind(this)
inputNode.addEventListener 'blur', => @dispatchEvent(new FocusEvent('blur', bubbles: false))
unmountComponent: ->
return unless @component?.isMounted()
@@ -103,7 +107,7 @@ class TextEditorElement extends HTMLElement
React.unmountComponentAtNode(this)
@component = null
focused: (event) ->
focused: ->
if @component?
@component.focused()
else