{"action":"created","comment":{"url":"https://api.github.com/repos/domokit/sky_engine/pulls/comments/37374943","id":37374943,"diff_hunk":"@@ -374,13 +377,13 @@ abstract class FixedHeightScrollable extends Scrollable {\n   double _height;\n   void _handleSizeChanged(Size newSize) {\n     setState(() {\n-      _height = newSize.height;\n+      _height = scrollDirection == ScrollDirection.vertical ? newSize.height : newSize.width;\n       scrollBehavior.containerSize = _height;\n     });\n   }\n \n   void _updateContentsHeight() {\n-    double contentsHeight = itemHeight * itemCount;\n+    double contentsHeight = itemSize * itemCount;","path":"sky/packages/sky/lib/widgets/scrollable.dart","position":246,"original_position":246,"commit_id":"5ac6b01764f33d261ab4320540e5a8b82a18742a","original_commit_id":"5ac6b01764f33d261ab4320540e5a8b82a18742a","user":{"login":"abarth","id":112007,"avatar_url":"https://avatars.githubusercontent.com/u/112007?v=3","gravatar_id":"","url":"https://api.github.com/users/abarth","html_url":"https://github.com/abarth","followers_url":"https://api.github.com/users/abarth/followers","following_url":"https://api.github.com/users/abarth/following{/other_user}","gists_url":"https://api.github.com/users/abarth/gists{/gist_id}","starred_url":"https://api.github.com/users/abarth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abarth/subscriptions","organizations_url":"https://api.github.com/users/abarth/orgs","repos_url":"https://api.github.com/users/abarth/repos","events_url":"https://api.github.com/users/abarth/events{/privacy}","received_events_url":"https://api.github.com/users/abarth/received_events","type":"User","site_admin":false},"body":"contentsExtent","created_at":"2015-08-19T02:32:38Z","updated_at":"2015-08-19T02:32:38Z","html_url":"https://github.com/domokit/sky_engine/pull/682#discussion_r37374943","pull_request_url":"https://api.github.com/repos/domokit/sky_engine/pulls/682","_links":{"self":{"href":"https://api.github.com/repos/domokit/sky_engine/pulls/comments/37374943"},"html":{"href":"https://github.com/domokit/sky_engine/pull/682#discussion_r37374943"},"pull_request":{"href":"https://api.github.com/repos/domokit/sky_engine/pulls/682"}}},"pull_request":{"url":"https://api.github.com/repos/domokit/sky_engine/pulls/682","id":42761082,"html_url":"https://github.com/domokit/sky_engine/pull/682","diff_url":"https://github.com/domokit/sky_engine/pull/682.diff","patch_url":"https://github.com/domokit/sky_engine/pull/682.patch","issue_url":"https://api.github.com/repos/domokit/sky_engine/issues/682","number":682,"state":"open","locked":false,"title":"Adds PageableList, other scrolling related changes and fixes","user":{"login":"HansMuller","id":1377460,"avatar_url":"https://avatars.githubusercontent.com/u/1377460?v=3","gravatar_id":"","url":"https://api.github.com/users/HansMuller","html_url":"https://github.com/HansMuller","followers_url":"https://api.github.com/users/HansMuller/followers","following_url":"https://api.github.com/users/HansMuller/following{/other_user}","gists_url":"https://api.github.com/users/HansMuller/gists{/gist_id}","starred_url":"https://api.github.com/users/HansMuller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HansMuller/subscriptions","organizations_url":"https://api.github.com/users/HansMuller/orgs","repos_url":"https://api.github.com/users/HansMuller/repos","events_url":"https://api.github.com/users/HansMuller/events{/privacy}","received_events_url":"https://api.github.com/users/HansMuller/received_events","type":"User","site_admin":false},"body":"Adds PageableList, other scrolling related changes and fixes\r\n\r\n- PageableList<T> extends ScrollableList<T>\r\n\r\nOne fixed width or height item is visible and centered at a\r\ntime. Fling and drag gestures scroll to the next/previous item.\r\n\r\n\r\n- Scrollable.scrollTo(), Scrollable.scrollBy(), ensureWidgetIsVisible() API changed\r\n\r\nThe named animation parameter for these methods was replaced by\r\nduration and curve. All of the methods now return a Future. The Future\r\ncompletes when the scroll does.\r\n\r\nThis change eliminates the need for Scrollable to temporarily take ownership\r\nof a ValueAnimation object (see https://github.com/domokit/sky_engine/issues/645).\r\n\r\n\r\n- Using Future.then() instead of an AnimationPerformance status listener\r\n\r\nIn ensure_visible.dart _handleTap() uses ensureWidgetIsVisible() to\r\ncenter the card roughly as before and then. When the implicit scroll\r\nanimation is complete, it changes the centered card's label font. The\r\nchange is made when the Future returned by ensureWidgetIsVisible()\r\ncompletes.\r\n\r\n\r\n- FixedHeightScrollable's itemHeight parameter is now itemSize\r\n\r\nIf scrollDirection is ScrollDirection.vertical (the default) then itemSize should\r\nbe the height of each item; otherwise it should be the width of each item.\r\n\r\n- Replaced _velocityForFlingGesture() in scrollable.dart with Scrollable._eventVelocity()\r\nThe original version clamped pixels/ms against pixels/sec constants. The new version\r\nalso deals with scrollDirection.\r\n\r\n\r\n- Plumbed scrollDirection though FixedHeightScrollable and ScrollableList<T>\r\n\r\nBoth classes should now support horizontal scrolling.\r\n","created_at":"2015-08-18T23:25:09Z","updated_at":"2015-08-19T02:32:39Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2ecc652acc0f1ad5be5247705c6bc7f24b5bec4b","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/domokit/sky_engine/pulls/682/commits","review_comments_url":"https://api.github.com/repos/domokit/sky_engine/pulls/682/comments","review_comment_url":"https://api.github.com/repos/domokit/sky_engine/pulls/comments{/number}","comments_url":"https://api.github.com/repos/domokit/sky_engine/issues/682/comments","statuses_url":"https://api.github.com/repos/domokit/sky_engine/statuses/5ac6b01764f33d261ab4320540e5a8b82a18742a","head":{"label":"HansMuller:dismissable-bug","ref":"dismissable-bug","sha":"5ac6b01764f33d261ab4320540e5a8b82a18742a","user":{"login":"HansMuller","id":1377460,"avatar_url":"https://avatars.githubusercontent.com/u/1377460?v=3","gravatar_id":"","url":"https://api.github.com/users/HansMuller","html_url":"https://github.com/HansMuller","followers_url":"https://api.github.com/users/HansMuller/followers","following_url":"https://api.github.com/users/HansMuller/following{/other_user}","gists_url":"https://api.github.com/users/HansMuller/gists{/gist_id}","starred_url":"https://api.github.com/users/HansMuller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HansMuller/subscriptions","organizations_url":"https://api.github.com/users/HansMuller/orgs","repos_url":"https://api.github.com/users/HansMuller/repos","events_url":"https://api.github.com/users/HansMuller/events{/privacy}","received_events_url":"https://api.github.com/users/HansMuller/received_events","type":"User","site_admin":false},"repo":{"id":39275287,"name":"sky_engine","full_name":"HansMuller/sky_engine","owner":{"login":"HansMuller","id":1377460,"avatar_url":"https://avatars.githubusercontent.com/u/1377460?v=3","gravatar_id":"","url":"https://api.github.com/users/HansMuller","html_url":"https://github.com/HansMuller","followers_url":"https://api.github.com/users/HansMuller/followers","following_url":"https://api.github.com/users/HansMuller/following{/other_user}","gists_url":"https://api.github.com/users/HansMuller/gists{/gist_id}","starred_url":"https://api.github.com/users/HansMuller/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/HansMuller/subscriptions","organizations_url":"https://api.github.com/users/HansMuller/orgs","repos_url":"https://api.github.com/users/HansMuller/repos","events_url":"https://api.github.com/users/HansMuller/events{/privacy}","received_events_url":"https://api.github.com/users/HansMuller/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/HansMuller/sky_engine","description":"The Sky engine","fork":true,"url":"https://api.github.com/repos/HansMuller/sky_engine","forks_url":"https://api.github.com/repos/HansMuller/sky_engine/forks","keys_url":"https://api.github.com/repos/HansMuller/sky_engine/keys{/key_id}","collaborators_url":"https://api.github.com/repos/HansMuller/sky_engine/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/HansMuller/sky_engine/teams","hooks_url":"https://api.github.com/repos/HansMuller/sky_engine/hooks","issue_events_url":"https://api.github.com/repos/HansMuller/sky_engine/issues/events{/number}","events_url":"https://api.github.com/repos/HansMuller/sky_engine/events","assignees_url":"https://api.github.com/repos/HansMuller/sky_engine/assignees{/user}","branches_url":"https://api.github.com/repos/HansMuller/sky_engine/branches{/branch}","tags_url":"https://api.github.com/repos/HansMuller/sky_engine/tags","blobs_url":"https://api.github.com/repos/HansMuller/sky_engine/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/HansMuller/sky_engine/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/HansMuller/sky_engine/git/refs{/sha}","trees_url":"https://api.github.com/repos/HansMuller/sky_engine/git/trees{/sha}","statuses_url":"https://api.github.com/repos/HansMuller/sky_engine/statuses/{sha}","languages_url":"https://api.github.com/repos/HansMuller/sky_engine/languages","stargazers_url":"https://api.github.com/repos/HansMuller/sky_engine/stargazers","contributors_url":"https://api.github.com/repos/HansMuller/sky_engine/contributors","subscribers_url":"https://api.github.com/repos/HansMuller/sky_engine/subscribers","subscription_url":"https://api.github.com/repos/HansMuller/sky_engine/subscription","commits_url":"https://api.github.com/repos/HansMuller/sky_engine/commits{/sha}","git_commits_url":"https://api.github.com/repos/HansMuller/sky_engine/git/commits{/sha}","comments_url":"https://api.github.com/repos/HansMuller/sky_engine/comments{/number}","issue_comment_url":"https://api.github.com/repos/HansMuller/sky_engine/issues/comments{/number}","contents_url":"https://api.github.com/repos/HansMuller/sky_engine/contents/{+path}","compare_url":"https://api.github.com/repos/HansMuller/sky_engine/compare/{base}...{head}","merges_url":"https://api.github.com/repos/HansMuller/sky_engine/merges","archive_url":"https://api.github.com/repos/HansMuller/sky_engine/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/HansMuller/sky_engine/downloads","issues_url":"https://api.github.com/repos/HansMuller/sky_engine/issues{/number}","pulls_url":"https://api.github.com/repos/HansMuller/sky_engine/pulls{/number}","milestones_url":"https://api.github.com/repos/HansMuller/sky_engine/milestones{/number}","notifications_url":"https://api.github.com/repos/HansMuller/sky_engine/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/HansMuller/sky_engine/labels{/name}","releases_url":"https://api.github.com/repos/HansMuller/sky_engine/releases{/id}","created_at":"2015-07-17T21:07:51Z","updated_at":"2015-07-17T21:08:10Z","pushed_at":"2015-08-18T23:14:59Z","git_url":"git://github.com/HansMuller/sky_engine.git","ssh_url":"git@github.com:HansMuller/sky_engine.git","clone_url":"https://github.com/HansMuller/sky_engine.git","svn_url":"https://github.com/HansMuller/sky_engine","homepage":null,"size":72204,"stargazers_count":0,"watchers_count":0,"language":"C++","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":"domokit:master","ref":"master","sha":"af4c203213ad64ccc216f7b66a2b17a8d7e35d56","user":{"login":"domokit","id":8664152,"avatar_url":"https://avatars.githubusercontent.com/u/8664152?v=3","gravatar_id":"","url":"https://api.github.com/users/domokit","html_url":"https://github.com/domokit","followers_url":"https://api.github.com/users/domokit/followers","following_url":"https://api.github.com/users/domokit/following{/other_user}","gists_url":"https://api.github.com/users/domokit/gists{/gist_id}","starred_url":"https://api.github.com/users/domokit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/domokit/subscriptions","organizations_url":"https://api.github.com/users/domokit/orgs","repos_url":"https://api.github.com/users/domokit/repos","events_url":"https://api.github.com/users/domokit/events{/privacy}","received_events_url":"https://api.github.com/users/domokit/received_events","type":"Organization","site_admin":false},"repo":{"id":39211337,"name":"sky_engine","full_name":"domokit/sky_engine","owner":{"login":"domokit","id":8664152,"avatar_url":"https://avatars.githubusercontent.com/u/8664152?v=3","gravatar_id":"","url":"https://api.github.com/users/domokit","html_url":"https://github.com/domokit","followers_url":"https://api.github.com/users/domokit/followers","following_url":"https://api.github.com/users/domokit/following{/other_user}","gists_url":"https://api.github.com/users/domokit/gists{/gist_id}","starred_url":"https://api.github.com/users/domokit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/domokit/subscriptions","organizations_url":"https://api.github.com/users/domokit/orgs","repos_url":"https://api.github.com/users/domokit/repos","events_url":"https://api.github.com/users/domokit/events{/privacy}","received_events_url":"https://api.github.com/users/domokit/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/domokit/sky_engine","description":"The Sky engine","fork":false,"url":"https://api.github.com/repos/domokit/sky_engine","forks_url":"https://api.github.com/repos/domokit/sky_engine/forks","keys_url":"https://api.github.com/repos/domokit/sky_engine/keys{/key_id}","collaborators_url":"https://api.github.com/repos/domokit/sky_engine/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/domokit/sky_engine/teams","hooks_url":"https://api.github.com/repos/domokit/sky_engine/hooks","issue_events_url":"https://api.github.com/repos/domokit/sky_engine/issues/events{/number}","events_url":"https://api.github.com/repos/domokit/sky_engine/events","assignees_url":"https://api.github.com/repos/domokit/sky_engine/assignees{/user}","branches_url":"https://api.github.com/repos/domokit/sky_engine/branches{/branch}","tags_url":"https://api.github.com/repos/domokit/sky_engine/tags","blobs_url":"https://api.github.com/repos/domokit/sky_engine/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/domokit/sky_engine/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/domokit/sky_engine/git/refs{/sha}","trees_url":"https://api.github.com/repos/domokit/sky_engine/git/trees{/sha}","statuses_url":"https://api.github.com/repos/domokit/sky_engine/statuses/{sha}","languages_url":"https://api.github.com/repos/domokit/sky_engine/languages","stargazers_url":"https://api.github.com/repos/domokit/sky_engine/stargazers","contributors_url":"https://api.github.com/repos/domokit/sky_engine/contributors","subscribers_url":"https://api.github.com/repos/domokit/sky_engine/subscribers","subscription_url":"https://api.github.com/repos/domokit/sky_engine/subscription","commits_url":"https://api.github.com/repos/domokit/sky_engine/commits{/sha}","git_commits_url":"https://api.github.com/repos/domokit/sky_engine/git/commits{/sha}","comments_url":"https://api.github.com/repos/domokit/sky_engine/comments{/number}","issue_comment_url":"https://api.github.com/repos/domokit/sky_engine/issues/comments{/number}","contents_url":"https://api.github.com/repos/domokit/sky_engine/contents/{+path}","compare_url":"https://api.github.com/repos/domokit/sky_engine/compare/{base}...{head}","merges_url":"https://api.github.com/repos/domokit/sky_engine/merges","archive_url":"https://api.github.com/repos/domokit/sky_engine/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/domokit/sky_engine/downloads","issues_url":"https://api.github.com/repos/domokit/sky_engine/issues{/number}","pulls_url":"https://api.github.com/repos/domokit/sky_engine/pulls{/number}","milestones_url":"https://api.github.com/repos/domokit/sky_engine/milestones{/number}","notifications_url":"https://api.github.com/repos/domokit/sky_engine/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/domokit/sky_engine/labels{/name}","releases_url":"https://api.github.com/repos/domokit/sky_engine/releases{/id}","created_at":"2015-07-16T17:39:56Z","updated_at":"2015-08-18T15:46:07Z","pushed_at":"2015-08-19T01:50:46Z","git_url":"git://github.com/domokit/sky_engine.git","ssh_url":"git@github.com:domokit/sky_engine.git","clone_url":"https://github.com/domokit/sky_engine.git","svn_url":"https://github.com/domokit/sky_engine","homepage":null,"size":75887,"stargazers_count":134,"watchers_count":134,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":46,"mirror_url":null,"open_issues_count":146,"forks":46,"open_issues":146,"watchers":134,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/domokit/sky_engine/pulls/682"},"html":{"href":"https://github.com/domokit/sky_engine/pull/682"},"issue":{"href":"https://api.github.com/repos/domokit/sky_engine/issues/682"},"comments":{"href":"https://api.github.com/repos/domokit/sky_engine/issues/682/comments"},"review_comments":{"href":"https://api.github.com/repos/domokit/sky_engine/pulls/682/comments"},"review_comment":{"href":"https://api.github.com/repos/domokit/sky_engine/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/domokit/sky_engine/pulls/682/commits"},"statuses":{"href":"https://api.github.com/repos/domokit/sky_engine/statuses/5ac6b01764f33d261ab4320540e5a8b82a18742a"}}}}