From badf1725fa8110072ca2f9b5c20871b27e1a5817 Mon Sep 17 00:00:00 2001 From: Nathan Sobo Date: Tue, 4 Nov 2014 16:34:11 -0700 Subject: [PATCH] Handle focus on hidden input when shadow DOM is disabled Signed-off-by: Max Brunsfeld --- src/text-editor-element.coffee | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/text-editor-element.coffee b/src/text-editor-element.coffee index b83b4a11d..4f6f9c2d2 100644 --- a/src/text-editor-element.coffee +++ b/src/text-editor-element.coffee @@ -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