mirror of
https://github.com/Foundry376/Mailspring.git
synced 2025-02-25 00:25:03 +08:00
fix(iframes): Clear selection when blurring iFrames - Fixes T1167
This commit is contained in:
parent
a7da51617c
commit
16979f371f
1 changed files with 10 additions and 2 deletions
|
@ -39,22 +39,30 @@ class EventedIFrame extends React.Component
|
|||
@_subscribeToIFrameEvents()
|
||||
|
||||
_unsubscribeFromIFrameEvents: =>
|
||||
doc = React.findDOMNode(@).contentDocument
|
||||
node = React.findDOMNode(@)
|
||||
doc = node.contentDocument
|
||||
return unless doc
|
||||
doc.removeEventListener('click', @_onIFrameClick)
|
||||
doc.removeEventListener('keydown', @_onIFrameKeydown)
|
||||
doc.removeEventListener('mousedown', @_onIFrameMouseEvent)
|
||||
doc.removeEventListener('mousemove', @_onIFrameMouseEvent)
|
||||
doc.removeEventListener('mouseup', @_onIFrameMouseEvent)
|
||||
node.contentWindow.removeEventListener('blur', @_onIFrameBlur)
|
||||
|
||||
_subscribeToIFrameEvents: =>
|
||||
doc = React.findDOMNode(@).contentDocument
|
||||
node = React.findDOMNode(@)
|
||||
doc = node.contentDocument
|
||||
_.defer =>
|
||||
doc.addEventListener("click", @_onIFrameClick)
|
||||
doc.addEventListener("keydown", @_onIFrameKeydown)
|
||||
doc.addEventListener("mousedown", @_onIFrameMouseEvent)
|
||||
doc.addEventListener("mousemove", @_onIFrameMouseEvent)
|
||||
doc.addEventListener("mouseup", @_onIFrameMouseEvent)
|
||||
node.contentWindow.addEventListener("blur", @_onIFrameBlur)
|
||||
|
||||
_onIFrameBlur: (event) =>
|
||||
node = React.findDOMNode(@)
|
||||
node.contentWindow.getSelection().empty()
|
||||
|
||||
# The iFrame captures events that take place over it, which causes some
|
||||
# interesting behaviors. For example, when you drag and release over the
|
||||
|
|
Loading…
Reference in a new issue