{"action":"created","comment":{"url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/comments/22436252","id":22436252,"diff_hunk":"@@ -0,0 +1,194 @@\n+// 'use strict';\n+var React = require(\"react/addons\");\n+var Arrival = require('Arrival');\n+var ReactTransitionGroup = React.addons.TransitionGroup;\n+\n+//makeTransition FUNCTION: creates animation for wrapped component based on props of wrapper component\n+  //@param displayName STRING: intended name of the wrapper animation component\n+  //@param transitions OBJECT: properties that define the default animation properties for the animation component wrapper\n+  //Required keys:\n+    // render FUNCTION: since this is an implementation of React.createClass a render method is required\n+    // componentWillEnter FUNCTION: required to for animation entering\n+    // componentWillLeave FUNCTION: required to for animation leaving\n+  //Additional keys\n+    // componentDidEnter FUNCTION: use to define actions to run after an animation has entry completed\n+    // componentDidEnter FUNCTION: use to define actions to run after an animation has leave completed\n+var makeTransition = function(displayName, transitions) {\n+\n+  return React.createClass({\n+    componentWillEnter: function(done) {\n+      // This is called at the same time as componentDidMount() for components added to an existing TransitionGroup. It will block other animations from occurring until callback is called. It will not be called on the initial render of a TransitionGroup.\n+      this.el = this.getDOMNode();\n+      this.$el = $(this.el);\n+\n+      // Calls the specified function to update an animation before the next browser repaint.\n+      requestAnimationFrame(function() {\n+        this.$el.css(transitions.enter);\n+\n+        requestAnimationFrame(function() {\n+          this.$el.css(transitions.enterActive);\n+          Arrival(this.$el, done);\n+        }.bind(this));\n+      }.bind(this));\n+    },\n+\n+    componentDidEnter: function() {\n+      // This is called after the callback function that was passed to componentWillEnter is called.\n+    },\n+\n+    componentWillLeave: function(done) {\n+      // This is called after the callback function that was passed to componentWillEnter is called.\n+      this.el = this.getDOMNode();\n+      this.$el = $(this.el);\n+\n+      requestAnimationFrame(function() {\n+        this.$el.css(transitions.leave);\n+\n+        requestAnimationFrame(function() {","path":"Animations/Animations.js","position":47,"original_position":47,"commit_id":"a4065eda3d01f7d9f636c6f99e90c99f1a55fc42","original_commit_id":"a4065eda3d01f7d9f636c6f99e90c99f1a55fc42","user":{"login":"Cheerazar","id":5581107,"avatar_url":"https://avatars.githubusercontent.com/u/5581107?v=3","gravatar_id":"","url":"https://api.github.com/users/Cheerazar","html_url":"https://github.com/Cheerazar","followers_url":"https://api.github.com/users/Cheerazar/followers","following_url":"https://api.github.com/users/Cheerazar/following{/other_user}","gists_url":"https://api.github.com/users/Cheerazar/gists{/gist_id}","starred_url":"https://api.github.com/users/Cheerazar/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Cheerazar/subscriptions","organizations_url":"https://api.github.com/users/Cheerazar/orgs","repos_url":"https://api.github.com/users/Cheerazar/repos","events_url":"https://api.github.com/users/Cheerazar/events{/privacy}","received_events_url":"https://api.github.com/users/Cheerazar/received_events","type":"User","site_admin":false},"body":"Add space between function and (.","created_at":"2015-01-04T03:04:58Z","updated_at":"2015-01-04T03:04:58Z","html_url":"https://github.com/TuxedoJS/TuxedoJS/pull/29#discussion_r22436252","pull_request_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/29","_links":{"self":{"href":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/comments/22436252"},"html":{"href":"https://github.com/TuxedoJS/TuxedoJS/pull/29#discussion_r22436252"},"pull_request":{"href":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/29"}}},"pull_request":{"url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/29","id":26789248,"html_url":"https://github.com/TuxedoJS/TuxedoJS/pull/29","diff_url":"https://github.com/TuxedoJS/TuxedoJS/pull/29.diff","patch_url":"https://github.com/TuxedoJS/TuxedoJS/pull/29.patch","issue_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/issues/29","number":29,"state":"open","locked":false,"title":"Tux main animation module with fly and fade default animation modules.","user":{"login":"sjstebbins","id":455819,"avatar_url":"https://avatars.githubusercontent.com/u/455819?v=3","gravatar_id":"","url":"https://api.github.com/users/sjstebbins","html_url":"https://github.com/sjstebbins","followers_url":"https://api.github.com/users/sjstebbins/followers","following_url":"https://api.github.com/users/sjstebbins/following{/other_user}","gists_url":"https://api.github.com/users/sjstebbins/gists{/gist_id}","starred_url":"https://api.github.com/users/sjstebbins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sjstebbins/subscriptions","organizations_url":"https://api.github.com/users/sjstebbins/orgs","repos_url":"https://api.github.com/users/sjstebbins/repos","events_url":"https://api.github.com/users/sjstebbins/events{/privacy}","received_events_url":"https://api.github.com/users/sjstebbins/received_events","type":"User","site_admin":false},"body":"","created_at":"2015-01-04T01:26:46Z","updated_at":"2015-01-04T03:04:58Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0fc21f314314297a3a3d1e974f4b78645415c69b","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/29/commits","review_comments_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/29/comments","review_comment_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/comments/{number}","comments_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/issues/29/comments","statuses_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/statuses/a4065eda3d01f7d9f636c6f99e90c99f1a55fc42","head":{"label":"sjstebbins:Animations","ref":"Animations","sha":"a4065eda3d01f7d9f636c6f99e90c99f1a55fc42","user":{"login":"sjstebbins","id":455819,"avatar_url":"https://avatars.githubusercontent.com/u/455819?v=3","gravatar_id":"","url":"https://api.github.com/users/sjstebbins","html_url":"https://github.com/sjstebbins","followers_url":"https://api.github.com/users/sjstebbins/followers","following_url":"https://api.github.com/users/sjstebbins/following{/other_user}","gists_url":"https://api.github.com/users/sjstebbins/gists{/gist_id}","starred_url":"https://api.github.com/users/sjstebbins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sjstebbins/subscriptions","organizations_url":"https://api.github.com/users/sjstebbins/orgs","repos_url":"https://api.github.com/users/sjstebbins/repos","events_url":"https://api.github.com/users/sjstebbins/events{/privacy}","received_events_url":"https://api.github.com/users/sjstebbins/received_events","type":"User","site_admin":false},"repo":{"id":28611452,"name":"TuxedoJS","full_name":"sjstebbins/TuxedoJS","owner":{"login":"sjstebbins","id":455819,"avatar_url":"https://avatars.githubusercontent.com/u/455819?v=3","gravatar_id":"","url":"https://api.github.com/users/sjstebbins","html_url":"https://github.com/sjstebbins","followers_url":"https://api.github.com/users/sjstebbins/followers","following_url":"https://api.github.com/users/sjstebbins/following{/other_user}","gists_url":"https://api.github.com/users/sjstebbins/gists{/gist_id}","starred_url":"https://api.github.com/users/sjstebbins/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sjstebbins/subscriptions","organizations_url":"https://api.github.com/users/sjstebbins/orgs","repos_url":"https://api.github.com/users/sjstebbins/repos","events_url":"https://api.github.com/users/sjstebbins/events{/privacy}","received_events_url":"https://api.github.com/users/sjstebbins/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/sjstebbins/TuxedoJS","description":"","fork":true,"url":"https://api.github.com/repos/sjstebbins/TuxedoJS","forks_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/forks","keys_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/keys{/key_id}","collaborators_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/teams","hooks_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/hooks","issue_events_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/issues/events{/number}","events_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/events","assignees_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/assignees{/user}","branches_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/branches{/branch}","tags_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/tags","blobs_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/git/refs{/sha}","trees_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/git/trees{/sha}","statuses_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/statuses/{sha}","languages_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/languages","stargazers_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/stargazers","contributors_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/contributors","subscribers_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/subscribers","subscription_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/subscription","commits_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/commits{/sha}","git_commits_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/git/commits{/sha}","comments_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/comments{/number}","issue_comment_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/issues/comments/{number}","contents_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/contents/{+path}","compare_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/compare/{base}...{head}","merges_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/merges","archive_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/downloads","issues_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/issues{/number}","pulls_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/pulls{/number}","milestones_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/milestones{/number}","notifications_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/labels{/name}","releases_url":"https://api.github.com/repos/sjstebbins/TuxedoJS/releases{/id}","created_at":"2014-12-30T00:22:59Z","updated_at":"2015-01-04T02:00:11Z","pushed_at":"2015-01-04T02:49:24Z","git_url":"git://github.com/sjstebbins/TuxedoJS.git","ssh_url":"git@github.com:sjstebbins/TuxedoJS.git","clone_url":"https://github.com/sjstebbins/TuxedoJS.git","svn_url":"https://github.com/sjstebbins/TuxedoJS","homepage":null,"size":106,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"TuxedoJS:master","ref":"master","sha":"caef505c4f1965da785f3481a025d4b44d96722f","user":{"login":"TuxedoJS","id":10237217,"avatar_url":"https://avatars.githubusercontent.com/u/10237217?v=3","gravatar_id":"","url":"https://api.github.com/users/TuxedoJS","html_url":"https://github.com/TuxedoJS","followers_url":"https://api.github.com/users/TuxedoJS/followers","following_url":"https://api.github.com/users/TuxedoJS/following{/other_user}","gists_url":"https://api.github.com/users/TuxedoJS/gists{/gist_id}","starred_url":"https://api.github.com/users/TuxedoJS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TuxedoJS/subscriptions","organizations_url":"https://api.github.com/users/TuxedoJS/orgs","repos_url":"https://api.github.com/users/TuxedoJS/repos","events_url":"https://api.github.com/users/TuxedoJS/events{/privacy}","received_events_url":"https://api.github.com/users/TuxedoJS/received_events","type":"Organization","site_admin":false},"repo":{"id":28203450,"name":"TuxedoJS","full_name":"TuxedoJS/TuxedoJS","owner":{"login":"TuxedoJS","id":10237217,"avatar_url":"https://avatars.githubusercontent.com/u/10237217?v=3","gravatar_id":"","url":"https://api.github.com/users/TuxedoJS","html_url":"https://github.com/TuxedoJS","followers_url":"https://api.github.com/users/TuxedoJS/followers","following_url":"https://api.github.com/users/TuxedoJS/following{/other_user}","gists_url":"https://api.github.com/users/TuxedoJS/gists{/gist_id}","starred_url":"https://api.github.com/users/TuxedoJS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/TuxedoJS/subscriptions","organizations_url":"https://api.github.com/users/TuxedoJS/orgs","repos_url":"https://api.github.com/users/TuxedoJS/repos","events_url":"https://api.github.com/users/TuxedoJS/events{/privacy}","received_events_url":"https://api.github.com/users/TuxedoJS/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/TuxedoJS/TuxedoJS","description":"","fork":false,"url":"https://api.github.com/repos/TuxedoJS/TuxedoJS","forks_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/forks","keys_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/keys{/key_id}","collaborators_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/teams","hooks_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/hooks","issue_events_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/issues/events{/number}","events_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/events","assignees_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/assignees{/user}","branches_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/branches{/branch}","tags_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/tags","blobs_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/git/refs{/sha}","trees_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/git/trees{/sha}","statuses_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/statuses/{sha}","languages_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/languages","stargazers_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/stargazers","contributors_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/contributors","subscribers_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/subscribers","subscription_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/subscription","commits_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/commits{/sha}","git_commits_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/git/commits{/sha}","comments_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/comments{/number}","issue_comment_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/issues/comments/{number}","contents_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/contents/{+path}","compare_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/compare/{base}...{head}","merges_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/merges","archive_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/downloads","issues_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/issues{/number}","pulls_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls{/number}","milestones_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/milestones{/number}","notifications_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/labels{/name}","releases_url":"https://api.github.com/repos/TuxedoJS/TuxedoJS/releases{/id}","created_at":"2014-12-18T21:58:57Z","updated_at":"2015-01-04T00:38:19Z","pushed_at":"2015-01-04T00:38:19Z","git_url":"git://github.com/TuxedoJS/TuxedoJS.git","ssh_url":"git@github.com:TuxedoJS/TuxedoJS.git","clone_url":"https://github.com/TuxedoJS/TuxedoJS.git","svn_url":"https://github.com/TuxedoJS/TuxedoJS","homepage":null,"size":277,"stargazers_count":0,"watchers_count":0,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4,"mirror_url":null,"open_issues_count":15,"forks":4,"open_issues":15,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/29"},"html":{"href":"https://github.com/TuxedoJS/TuxedoJS/pull/29"},"issue":{"href":"https://api.github.com/repos/TuxedoJS/TuxedoJS/issues/29"},"comments":{"href":"https://api.github.com/repos/TuxedoJS/TuxedoJS/issues/29/comments"},"review_comments":{"href":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/29/comments"},"review_comment":{"href":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/comments/{number}"},"commits":{"href":"https://api.github.com/repos/TuxedoJS/TuxedoJS/pulls/29/commits"},"statuses":{"href":"https://api.github.com/repos/TuxedoJS/TuxedoJS/statuses/a4065eda3d01f7d9f636c6f99e90c99f1a55fc42"}}}}