{"action":"created","comment":{"url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/pulls/comments/93983634","pull_request_review_id":14514163,"id":93983634,"diff_hunk":"@@ -7818,10 +7820,47 @@ MenuMorph.prototype.select = function (aMenuItem) {\n     this.selection = aMenuItem;\n };\n \n+MenuMorph.prototype.mouseLeave = function () {\n+    if (this.parent instanceof MenuMorph) {\n+        // this is a submenu so we vanish when lose focus\n+        var mouses = this.world.hand.allMorphsAtPointer();\n+        if (contains(mouses, this.parent)) {\n+            var items = mouses.filter(function (morph)","path":"morphic.js","position":null,"original_position":35,"commit_id":"fda6938f29093648f75298feaebe2be9df1ae1a5","original_commit_id":"51aa5db3b09f3d14cfbfdd658ef781e0ce59b8f8","user":{"login":"cycomachead","id":1505907,"avatar_url":"https://avatars.githubusercontent.com/u/1505907?v=3","gravatar_id":"","url":"https://api.github.com/users/cycomachead","html_url":"https://github.com/cycomachead","followers_url":"https://api.github.com/users/cycomachead/followers","following_url":"https://api.github.com/users/cycomachead/following{/other_user}","gists_url":"https://api.github.com/users/cycomachead/gists{/gist_id}","starred_url":"https://api.github.com/users/cycomachead/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cycomachead/subscriptions","organizations_url":"https://api.github.com/users/cycomachead/orgs","repos_url":"https://api.github.com/users/cycomachead/repos","events_url":"https://api.github.com/users/cycomachead/events{/privacy}","received_events_url":"https://api.github.com/users/cycomachead/received_events","type":"User","site_admin":false},"body":"Thanks, Liam. I thought I wrote a much simpler response via email but I don't see it. \r\n\r\n(Now if only we could use some ES6 stuff in Snap! that would be cool.)","created_at":"2016-12-28T00:36:11Z","updated_at":"2016-12-28T00:36:11Z","html_url":"https://github.com/jmoenig/Snap--Build-Your-Own-Blocks/pull/1581#discussion_r93983634","pull_request_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/pulls/1581","_links":{"self":{"href":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/pulls/comments/93983634"},"html":{"href":"https://github.com/jmoenig/Snap--Build-Your-Own-Blocks/pull/1581#discussion_r93983634"},"pull_request":{"href":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/pulls/1581"}}},"pull_request":{"url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/pulls/1581","id":99396403,"html_url":"https://github.com/jmoenig/Snap--Build-Your-Own-Blocks/pull/1581","diff_url":"https://github.com/jmoenig/Snap--Build-Your-Own-Blocks/pull/1581.diff","patch_url":"https://github.com/jmoenig/Snap--Build-Your-Own-Blocks/pull/1581.patch","issue_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/issues/1581","number":1581,"state":"open","locked":false,"title":"hierarchical menus","user":{"login":"brianharvey","id":3885074,"avatar_url":"https://avatars.githubusercontent.com/u/3885074?v=3","gravatar_id":"","url":"https://api.github.com/users/brianharvey","html_url":"https://github.com/brianharvey","followers_url":"https://api.github.com/users/brianharvey/followers","following_url":"https://api.github.com/users/brianharvey/following{/other_user}","gists_url":"https://api.github.com/users/brianharvey/gists{/gist_id}","starred_url":"https://api.github.com/users/brianharvey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brianharvey/subscriptions","organizations_url":"https://api.github.com/users/brianharvey/orgs","repos_url":"https://api.github.com/users/brianharvey/repos","events_url":"https://api.github.com/users/brianharvey/events{/privacy}","received_events_url":"https://api.github.com/users/brianharvey/received_events","type":"User","site_admin":false},"body":"Implemented in morphic.js (several changes to MenuMorph and\nMenuItemMorph); used for custom block menu inputs in blocks.js","created_at":"2016-12-27T01:05:21Z","updated_at":"2016-12-28T00:36:11Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c1fe92aac33a808eb46052197dae6db4f058d6d2","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/pulls/1581/commits","review_comments_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/pulls/1581/comments","review_comment_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/pulls/comments{/number}","comments_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/issues/1581/comments","statuses_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/statuses/fda6938f29093648f75298feaebe2be9df1ae1a5","head":{"label":"jmoenig:hierarchical","ref":"hierarchical","sha":"fda6938f29093648f75298feaebe2be9df1ae1a5","user":{"login":"jmoenig","id":2596285,"avatar_url":"https://avatars.githubusercontent.com/u/2596285?v=3","gravatar_id":"","url":"https://api.github.com/users/jmoenig","html_url":"https://github.com/jmoenig","followers_url":"https://api.github.com/users/jmoenig/followers","following_url":"https://api.github.com/users/jmoenig/following{/other_user}","gists_url":"https://api.github.com/users/jmoenig/gists{/gist_id}","starred_url":"https://api.github.com/users/jmoenig/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmoenig/subscriptions","organizations_url":"https://api.github.com/users/jmoenig/orgs","repos_url":"https://api.github.com/users/jmoenig/repos","events_url":"https://api.github.com/users/jmoenig/events{/privacy}","received_events_url":"https://api.github.com/users/jmoenig/received_events","type":"User","site_admin":false},"repo":{"id":8815876,"name":"Snap--Build-Your-Own-Blocks","full_name":"jmoenig/Snap--Build-Your-Own-Blocks","owner":{"login":"jmoenig","id":2596285,"avatar_url":"https://avatars.githubusercontent.com/u/2596285?v=3","gravatar_id":"","url":"https://api.github.com/users/jmoenig","html_url":"https://github.com/jmoenig","followers_url":"https://api.github.com/users/jmoenig/followers","following_url":"https://api.github.com/users/jmoenig/following{/other_user}","gists_url":"https://api.github.com/users/jmoenig/gists{/gist_id}","starred_url":"https://api.github.com/users/jmoenig/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmoenig/subscriptions","organizations_url":"https://api.github.com/users/jmoenig/orgs","repos_url":"https://api.github.com/users/jmoenig/repos","events_url":"https://api.github.com/users/jmoenig/events{/privacy}","received_events_url":"https://api.github.com/users/jmoenig/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jmoenig/Snap--Build-Your-Own-Blocks","description":"a visual programming language inspired by Scratch","fork":false,"url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks","forks_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/forks","keys_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/teams","hooks_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/hooks","issue_events_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/issues/events{/number}","events_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/events","assignees_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/assignees{/user}","branches_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/branches{/branch}","tags_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/tags","blobs_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/git/refs{/sha}","trees_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/statuses/{sha}","languages_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/languages","stargazers_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/stargazers","contributors_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/contributors","subscribers_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/subscribers","subscription_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/subscription","commits_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/commits{/sha}","git_commits_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/git/commits{/sha}","comments_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/comments{/number}","issue_comment_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/issues/comments{/number}","contents_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/contents/{+path}","compare_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/merges","archive_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/downloads","issues_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/issues{/number}","pulls_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/pulls{/number}","milestones_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/milestones{/number}","notifications_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/labels{/name}","releases_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/releases{/id}","deployments_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/deployments","created_at":"2013-03-16T08:03:15Z","updated_at":"2016-12-27T03:18:56Z","pushed_at":"2016-12-27T23:45:08Z","git_url":"git://github.com/jmoenig/Snap--Build-Your-Own-Blocks.git","ssh_url":"git@github.com:jmoenig/Snap--Build-Your-Own-Blocks.git","clone_url":"https://github.com/jmoenig/Snap--Build-Your-Own-Blocks.git","svn_url":"https://github.com/jmoenig/Snap--Build-Your-Own-Blocks","homepage":"http://snap.berkeley.edu","size":51371,"stargazers_count":466,"watchers_count":466,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":337,"mirror_url":null,"open_issues_count":608,"forks":337,"open_issues":608,"watchers":466,"default_branch":"master"}},"base":{"label":"jmoenig:master","ref":"master","sha":"81a0d300328ddc218c683bc9a7b0c7c199ed2662","user":{"login":"jmoenig","id":2596285,"avatar_url":"https://avatars.githubusercontent.com/u/2596285?v=3","gravatar_id":"","url":"https://api.github.com/users/jmoenig","html_url":"https://github.com/jmoenig","followers_url":"https://api.github.com/users/jmoenig/followers","following_url":"https://api.github.com/users/jmoenig/following{/other_user}","gists_url":"https://api.github.com/users/jmoenig/gists{/gist_id}","starred_url":"https://api.github.com/users/jmoenig/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmoenig/subscriptions","organizations_url":"https://api.github.com/users/jmoenig/orgs","repos_url":"https://api.github.com/users/jmoenig/repos","events_url":"https://api.github.com/users/jmoenig/events{/privacy}","received_events_url":"https://api.github.com/users/jmoenig/received_events","type":"User","site_admin":false},"repo":{"id":8815876,"name":"Snap--Build-Your-Own-Blocks","full_name":"jmoenig/Snap--Build-Your-Own-Blocks","owner":{"login":"jmoenig","id":2596285,"avatar_url":"https://avatars.githubusercontent.com/u/2596285?v=3","gravatar_id":"","url":"https://api.github.com/users/jmoenig","html_url":"https://github.com/jmoenig","followers_url":"https://api.github.com/users/jmoenig/followers","following_url":"https://api.github.com/users/jmoenig/following{/other_user}","gists_url":"https://api.github.com/users/jmoenig/gists{/gist_id}","starred_url":"https://api.github.com/users/jmoenig/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmoenig/subscriptions","organizations_url":"https://api.github.com/users/jmoenig/orgs","repos_url":"https://api.github.com/users/jmoenig/repos","events_url":"https://api.github.com/users/jmoenig/events{/privacy}","received_events_url":"https://api.github.com/users/jmoenig/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jmoenig/Snap--Build-Your-Own-Blocks","description":"a visual programming language inspired by Scratch","fork":false,"url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks","forks_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/forks","keys_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/teams","hooks_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/hooks","issue_events_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/issues/events{/number}","events_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/events","assignees_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/assignees{/user}","branches_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/branches{/branch}","tags_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/tags","blobs_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/git/refs{/sha}","trees_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/statuses/{sha}","languages_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/languages","stargazers_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/stargazers","contributors_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/contributors","subscribers_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/subscribers","subscription_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/subscription","commits_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/commits{/sha}","git_commits_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/git/commits{/sha}","comments_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/comments{/number}","issue_comment_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/issues/comments{/number}","contents_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/contents/{+path}","compare_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/merges","archive_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/downloads","issues_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/issues{/number}","pulls_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/pulls{/number}","milestones_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/milestones{/number}","notifications_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/labels{/name}","releases_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/releases{/id}","deployments_url":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/deployments","created_at":"2013-03-16T08:03:15Z","updated_at":"2016-12-27T03:18:56Z","pushed_at":"2016-12-27T23:45:08Z","git_url":"git://github.com/jmoenig/Snap--Build-Your-Own-Blocks.git","ssh_url":"git@github.com:jmoenig/Snap--Build-Your-Own-Blocks.git","clone_url":"https://github.com/jmoenig/Snap--Build-Your-Own-Blocks.git","svn_url":"https://github.com/jmoenig/Snap--Build-Your-Own-Blocks","homepage":"http://snap.berkeley.edu","size":51371,"stargazers_count":466,"watchers_count":466,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":337,"mirror_url":null,"open_issues_count":608,"forks":337,"open_issues":608,"watchers":466,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/pulls/1581"},"html":{"href":"https://github.com/jmoenig/Snap--Build-Your-Own-Blocks/pull/1581"},"issue":{"href":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/issues/1581"},"comments":{"href":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/issues/1581/comments"},"review_comments":{"href":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/pulls/1581/comments"},"review_comment":{"href":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/pulls/1581/commits"},"statuses":{"href":"https://api.github.com/repos/jmoenig/Snap--Build-Your-Own-Blocks/statuses/fda6938f29093648f75298feaebe2be9df1ae1a5"}}}}
{"actor":{"display_login":"cycomachead"}}