You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@whimsical.apache.org by Sam Ruby <ru...@apache.org> on 2015/12/13 16:14:56 UTC
[whimsy.git] [34/37] Commit bfb37af: hide context menu whenever a click is received outside the menu
Commit bfb37affe48395a9c112e3db37e3560799087042:
hide context menu whenever a click is received outside the menu
Branch: refs/heads/secmail
Author: Sam Ruby <ru...@intertwingly.net>
Committer: Sam Ruby <ru...@intertwingly.net>
Pusher: rubys <ru...@apache.org>
------------------------------------------------------------
views/parts.js.rb | ++++++++++++
------------------------------------------------------------
12 changes: 12 additions, 0 deletions.
------------------------------------------------------------
diff --git a/views/parts.js.rb b/views/parts.js.rb
index 9ac52e1..5851fa8 100644
--- a/views/parts.js.rb
+++ b/views/parts.js.rb
@@ -19,8 +19,10 @@ def render
def componentDidMount()
$menu.style.display = :none
+ window.onmousedown = self.click
end
+ # position and show context menu
def menu(event)
@selected = event.currentTarget.textContent
$menu.style.left = event.clientX + 'px'
@@ -29,4 +31,14 @@ def menu(event)
$menu.style.display = :block
event.preventDefault()
end
+
+ # hide context menu whenever a click is received outside the menu
+ def click(event)
+ target = event.target
+ while target
+ return if target.class == 'contextMenu'
+ target = target.parentNode
+ end
+ $menu.style.display = :none
+ end
end