{"action":"created","comment":{"url":"https://api.github.com/repos/xamarin/Xamarin.Forms/pulls/comments/224900605","pull_request_review_id":164387887,"id":224900605,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIyNDkwMDYwNQ==","diff_hunk":"@@ -0,0 +1,262 @@\n+﻿using System.Collections;\n+using System.Collections.Specialized;\n+\n+namespace Xamarin.Forms.Core\n+{\n+\tpublic static class BindableLayout\n+\t{\n+\t\tpublic static readonly BindableProperty ItemsSourceProperty =\n+\t\t\tBindableProperty.CreateAttached(\"ItemsSource\", typeof(IEnumerable), typeof(Layout<View>), default(IList),\n+\t\t\t\tpropertyChanged: (b, o, n) => { GetController(b).ItemsSource = (IEnumerable)n; });\n+\n+\t\tpublic static readonly BindableProperty ItemTemplateProperty =\n+\t\t\tBindableProperty.CreateAttached(\"ItemTemplate\", typeof(DataTemplate), typeof(Layout<View>), default(DataTemplate),\n+\t\t\t\tpropertyChanged: (b, o, n) => { GetController(b).ItemTemplate = (DataTemplate)n; });\n+\n+\t\tpublic static readonly BindableProperty ItemTemplateSelectorProperty =\n+\t\t\tBindableProperty.CreateAttached(\"ItemTemplateSelector\", typeof(DataTemplateSelector), typeof(Layout<View>), default(DataTemplateSelector),\n+\t\t\t\tpropertyChanged: (b, o, n) => { GetController(b).ItemTemplateSelector = (DataTemplateSelector)n; });\n+\n+\t\tstatic readonly BindableProperty ControllerProperty =","path":"Xamarin.Forms.Core/BindableLayout.cs","position":20,"original_position":20,"commit_id":"1c409d9ea6f05b028648619345f4d063d33e245b","original_commit_id":"1c409d9ea6f05b028648619345f4d063d33e245b","user":{"login":"rmarinho","id":1235097,"node_id":"MDQ6VXNlcjEyMzUwOTc=","avatar_url":"https://avatars3.githubusercontent.com/u/1235097?v=4","gravatar_id":"","url":"https://api.github.com/users/rmarinho","html_url":"https://github.com/rmarinho","followers_url":"https://api.github.com/users/rmarinho/followers","following_url":"https://api.github.com/users/rmarinho/following{/other_user}","gists_url":"https://api.github.com/users/rmarinho/gists{/gist_id}","starred_url":"https://api.github.com/users/rmarinho/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rmarinho/subscriptions","organizations_url":"https://api.github.com/users/rmarinho/orgs","repos_url":"https://api.github.com/users/rmarinho/repos","events_url":"https://api.github.com/users/rmarinho/events{/privacy}","received_events_url":"https://api.github.com/users/rmarinho/received_events","type":"User","site_admin":false},"body":"Should this be `BindableLayoutControllerProperty` ? ","created_at":"2018-10-12T20:03:52Z","updated_at":"2018-10-12T20:05:58Z","html_url":"https://github.com/xamarin/Xamarin.Forms/pull/4052#discussion_r224900605","pull_request_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/pulls/4052","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/xamarin/Xamarin.Forms/pulls/comments/224900605"},"html":{"href":"https://github.com/xamarin/Xamarin.Forms/pull/4052#discussion_r224900605"},"pull_request":{"href":"https://api.github.com/repos/xamarin/Xamarin.Forms/pulls/4052"}}},"pull_request":{"url":"https://api.github.com/repos/xamarin/Xamarin.Forms/pulls/4052","id":221773264,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIxNzczMjY0","html_url":"https://github.com/xamarin/Xamarin.Forms/pull/4052","diff_url":"https://github.com/xamarin/Xamarin.Forms/pull/4052.diff","patch_url":"https://github.com/xamarin/Xamarin.Forms/pull/4052.patch","issue_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/issues/4052","number":4052,"state":"open","locked":false,"title":"Bindable layouts","user":{"login":"andreinitescu","id":743918,"node_id":"MDQ6VXNlcjc0MzkxOA==","avatar_url":"https://avatars2.githubusercontent.com/u/743918?v=4","gravatar_id":"","url":"https://api.github.com/users/andreinitescu","html_url":"https://github.com/andreinitescu","followers_url":"https://api.github.com/users/andreinitescu/followers","following_url":"https://api.github.com/users/andreinitescu/following{/other_user}","gists_url":"https://api.github.com/users/andreinitescu/gists{/gist_id}","starred_url":"https://api.github.com/users/andreinitescu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreinitescu/subscriptions","organizations_url":"https://api.github.com/users/andreinitescu/orgs","repos_url":"https://api.github.com/users/andreinitescu/repos","events_url":"https://api.github.com/users/andreinitescu/events{/privacy}","received_events_url":"https://api.github.com/users/andreinitescu/received_events","type":"User","site_admin":false},"body":"### Description of Change ###\r\n\r\nIt allows any `Layout<View>` to generate its content (child views) by binding to an items source, with option to set item template or item template selector:\r\n\r\n```\r\n<StackLayout BindableLayout.ItemsSource=\"{Binding Items}\" />\r\n\r\n<StackLayout BindableLayout.ItemsSource=\"{Binding Items}\"\r\n             BindableLayout.ItemTemplate=\"{Binding MyItemTemplate}\" />\r\n\r\n<StackLayout BindableLayout.ItemsSource=\"{Binding Items}\"\r\n             BindableLayout.ItemTemplateSelector=\"{Binding MyItemTemplateSelector}\" />\r\n```\r\n\r\nIn the first example, where neither item template nor item template selector are set, every item is a `Label`. If both item template and selector are set, the selector is used. If `Items` property is set, it is ignored.\r\n\r\nFor advanced scenarios, where setting up the item view is required when the items source changed (an item was added/removed/replaced/moved in the collection), it's possible to set a custom layout controller like this:\r\n\r\n```\r\n<!-- We need a name to reference the layout in code behind  --/>\r\n<StackLayout BindableLayout.ItemsSource=\"{Binding Items}\" x:Name=\"_layout\" />\r\n```\r\n\r\n``` \r\npublic partial class MainPage : ContentPage\r\n{\r\n    public MainPage()\r\n    {\r\n        InitializeComponent();\r\n            \r\n        // Create and set the bindable layout custom controller\r\n        BindableLayout.SetController(_layout, new MyLayoutController (_layout));\r\n    }\r\n}\r\n\r\nclass MyLayoutController : BindableLayoutController\r\n{\r\n     public MyLayoutController(Layout<View> layout) : base(layout) {  }\r\n   \r\n     protected override void OnItemViewCreated(View view, object item, int index)\r\n     {\r\n          // Setup item view in specific way based on the item and index\r\n          // This is called only when an item is materialized into an item view \r\n          // For example, it's called when an item is added to the items source or \r\n          //  when items source replaces an item with another item\r\n     }\r\n\r\n     protected override void OnSetItemsSource(IList oldItemsSource)\r\n     {\r\n          // Unsubscribe here from old items source changes and subscribe to the new items source\r\n          // It gives a way to observe changes to the items \r\n          //  (item is added/removed/replaced/moved in the collection) \r\n          //  so that their views are updated according to how the layout needs it. \r\n          // For example, when an item is moved within the collection (i.e. drag&drop), \r\n          //  the layout would want to update the position/measurement of an item view in a specific way\r\n     }\r\n} \r\n```\r\n\r\n\r\n### Issues Resolved ### \r\n<!-- Please use the format \"fixes #xxxx\" for each issue this PR addresses -->\r\n\r\n- fixes #1718\r\n\r\n### API Changes ###\r\nAdded:\r\n\r\nAdded static class BindableLayout with following attached properties to `Layout<View>`:\r\n\r\n - IList ItemsSource{ get; set; }\r\n - DataTemplate ItemTemplate { get; set; }\r\n - DataTemplateSelector ItemTemplateSelector { get; set; }\r\n - BindableLayoutController Controller { get; set; }\r\n\r\nAdded a BindableLayoutController class:\r\n   - public BindableLayoutController(Layout<View> layout); // C-tor\r\n   - public virtual void OnSetItemsSource(IList oldItemsSource); \r\n   - public virtual void OnItemViewCreated(View view, object item, int index)\r\n\r\n### Platforms Affected ### \r\n<!-- Please list all platforms affected by these changes -->\r\n\r\n- Core/XAML (all platforms)\r\n\r\n### Testing Procedure ###\r\n<!-- Please list the steps that should be taken to properly test these changes on each relevant platform. If you were unable to test these changes yourself on any or all platforms, please let us know. Also, if you are able to attach a video of your test run, you will be our personal hero. -->\r\n\r\n### PR Checklist ###\r\n\r\n- [ ] Has automated tests <!-- (if tests are omitted or manual, state reason in description) -->\r\n- [x] Rebased on top of the target branch at time of PR\r\n- [x] Changes adhere to coding standard\r\n","created_at":"2018-10-10T12:39:14Z","updated_at":"2018-10-12T20:05:58Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a6897b761a49c34c55ec1880eab79027add9fa61","assignee":{"login":"hartez","id":538025,"node_id":"MDQ6VXNlcjUzODAyNQ==","avatar_url":"https://avatars0.githubusercontent.com/u/538025?v=4","gravatar_id":"","url":"https://api.github.com/users/hartez","html_url":"https://github.com/hartez","followers_url":"https://api.github.com/users/hartez/followers","following_url":"https://api.github.com/users/hartez/following{/other_user}","gists_url":"https://api.github.com/users/hartez/gists{/gist_id}","starred_url":"https://api.github.com/users/hartez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hartez/subscriptions","organizations_url":"https://api.github.com/users/hartez/orgs","repos_url":"https://api.github.com/users/hartez/repos","events_url":"https://api.github.com/users/hartez/events{/privacy}","received_events_url":"https://api.github.com/users/hartez/received_events","type":"User","site_admin":false},"assignees":[{"login":"hartez","id":538025,"node_id":"MDQ6VXNlcjUzODAyNQ==","avatar_url":"https://avatars0.githubusercontent.com/u/538025?v=4","gravatar_id":"","url":"https://api.github.com/users/hartez","html_url":"https://github.com/hartez","followers_url":"https://api.github.com/users/hartez/followers","following_url":"https://api.github.com/users/hartez/following{/other_user}","gists_url":"https://api.github.com/users/hartez/gists{/gist_id}","starred_url":"https://api.github.com/users/hartez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hartez/subscriptions","organizations_url":"https://api.github.com/users/hartez/orgs","repos_url":"https://api.github.com/users/hartez/repos","events_url":"https://api.github.com/users/hartez/events{/privacy}","received_events_url":"https://api.github.com/users/hartez/received_events","type":"User","site_admin":false},{"login":"rmarinho","id":1235097,"node_id":"MDQ6VXNlcjEyMzUwOTc=","avatar_url":"https://avatars3.githubusercontent.com/u/1235097?v=4","gravatar_id":"","url":"https://api.github.com/users/rmarinho","html_url":"https://github.com/rmarinho","followers_url":"https://api.github.com/users/rmarinho/followers","following_url":"https://api.github.com/users/rmarinho/following{/other_user}","gists_url":"https://api.github.com/users/rmarinho/gists{/gist_id}","starred_url":"https://api.github.com/users/rmarinho/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rmarinho/subscriptions","organizations_url":"https://api.github.com/users/rmarinho/orgs","repos_url":"https://api.github.com/users/rmarinho/repos","events_url":"https://api.github.com/users/rmarinho/events{/privacy}","received_events_url":"https://api.github.com/users/rmarinho/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"hartez","id":538025,"node_id":"MDQ6VXNlcjUzODAyNQ==","avatar_url":"https://avatars0.githubusercontent.com/u/538025?v=4","gravatar_id":"","url":"https://api.github.com/users/hartez","html_url":"https://github.com/hartez","followers_url":"https://api.github.com/users/hartez/followers","following_url":"https://api.github.com/users/hartez/following{/other_user}","gists_url":"https://api.github.com/users/hartez/gists{/gist_id}","starred_url":"https://api.github.com/users/hartez/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hartez/subscriptions","organizations_url":"https://api.github.com/users/hartez/orgs","repos_url":"https://api.github.com/users/hartez/repos","events_url":"https://api.github.com/users/hartez/events{/privacy}","received_events_url":"https://api.github.com/users/hartez/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":816672203,"node_id":"MDU6TGFiZWw4MTY2NzIyMDM=","url":"https://api.github.com/repos/xamarin/Xamarin.Forms/labels/F100","name":"F100","color":"e65bff","default":false},{"id":820749684,"node_id":"MDU6TGFiZWw4MjA3NDk2ODQ=","url":"https://api.github.com/repos/xamarin/Xamarin.Forms/labels/community-sprint","name":"community-sprint","color":"3455af","default":false},{"id":343860853,"node_id":"MDU6TGFiZWwzNDM4NjA4NTM=","url":"https://api.github.com/repos/xamarin/Xamarin.Forms/labels/t/enhancement%20%E2%9E%95","name":"t/enhancement ➕","color":"84b6eb","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/pulls/4052/commits","review_comments_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/pulls/4052/comments","review_comment_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/pulls/comments{/number}","comments_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/issues/4052/comments","statuses_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/statuses/1c409d9ea6f05b028648619345f4d063d33e245b","head":{"label":"andreinitescu:fix-1718-Repeater-Control","ref":"fix-1718-Repeater-Control","sha":"1c409d9ea6f05b028648619345f4d063d33e245b","user":{"login":"andreinitescu","id":743918,"node_id":"MDQ6VXNlcjc0MzkxOA==","avatar_url":"https://avatars2.githubusercontent.com/u/743918?v=4","gravatar_id":"","url":"https://api.github.com/users/andreinitescu","html_url":"https://github.com/andreinitescu","followers_url":"https://api.github.com/users/andreinitescu/followers","following_url":"https://api.github.com/users/andreinitescu/following{/other_user}","gists_url":"https://api.github.com/users/andreinitescu/gists{/gist_id}","starred_url":"https://api.github.com/users/andreinitescu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreinitescu/subscriptions","organizations_url":"https://api.github.com/users/andreinitescu/orgs","repos_url":"https://api.github.com/users/andreinitescu/repos","events_url":"https://api.github.com/users/andreinitescu/events{/privacy}","received_events_url":"https://api.github.com/users/andreinitescu/received_events","type":"User","site_admin":false},"repo":{"id":151378529,"node_id":"MDEwOlJlcG9zaXRvcnkxNTEzNzg1Mjk=","name":"Xamarin.Forms","full_name":"andreinitescu/Xamarin.Forms","private":false,"owner":{"login":"andreinitescu","id":743918,"node_id":"MDQ6VXNlcjc0MzkxOA==","avatar_url":"https://avatars2.githubusercontent.com/u/743918?v=4","gravatar_id":"","url":"https://api.github.com/users/andreinitescu","html_url":"https://github.com/andreinitescu","followers_url":"https://api.github.com/users/andreinitescu/followers","following_url":"https://api.github.com/users/andreinitescu/following{/other_user}","gists_url":"https://api.github.com/users/andreinitescu/gists{/gist_id}","starred_url":"https://api.github.com/users/andreinitescu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andreinitescu/subscriptions","organizations_url":"https://api.github.com/users/andreinitescu/orgs","repos_url":"https://api.github.com/users/andreinitescu/repos","events_url":"https://api.github.com/users/andreinitescu/events{/privacy}","received_events_url":"https://api.github.com/users/andreinitescu/received_events","type":"User","site_admin":false},"html_url":"https://github.com/andreinitescu/Xamarin.Forms","description":"Xamarin.Forms official home","fork":true,"url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms","forks_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/forks","keys_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/keys{/key_id}","collaborators_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/teams","hooks_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/hooks","issue_events_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/issues/events{/number}","events_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/events","assignees_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/assignees{/user}","branches_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/branches{/branch}","tags_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/tags","blobs_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/git/refs{/sha}","trees_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/git/trees{/sha}","statuses_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/statuses/{sha}","languages_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/languages","stargazers_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/stargazers","contributors_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/contributors","subscribers_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/subscribers","subscription_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/subscription","commits_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/commits{/sha}","git_commits_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/git/commits{/sha}","comments_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/comments{/number}","issue_comment_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/issues/comments{/number}","contents_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/contents/{+path}","compare_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/compare/{base}...{head}","merges_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/merges","archive_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/downloads","issues_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/issues{/number}","pulls_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/pulls{/number}","milestones_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/milestones{/number}","notifications_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/labels{/name}","releases_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/releases{/id}","deployments_url":"https://api.github.com/repos/andreinitescu/Xamarin.Forms/deployments","created_at":"2018-10-03T07:50:14Z","updated_at":"2018-10-05T14:40:15Z","pushed_at":"2018-10-12T12:59:14Z","git_url":"git://github.com/andreinitescu/Xamarin.Forms.git","ssh_url":"git@github.com:andreinitescu/Xamarin.Forms.git","clone_url":"https://github.com/andreinitescu/Xamarin.Forms.git","svn_url":"https://github.com/andreinitescu/Xamarin.Forms","homepage":"https://xamarin.com/forms","size":49241,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"xamarin:master","ref":"master","sha":"f79fc69b9e85ebd946bd7128c414735860bcc9f2","user":{"login":"xamarin","id":790012,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc5MDAxMg==","avatar_url":"https://avatars0.githubusercontent.com/u/790012?v=4","gravatar_id":"","url":"https://api.github.com/users/xamarin","html_url":"https://github.com/xamarin","followers_url":"https://api.github.com/users/xamarin/followers","following_url":"https://api.github.com/users/xamarin/following{/other_user}","gists_url":"https://api.github.com/users/xamarin/gists{/gist_id}","starred_url":"https://api.github.com/users/xamarin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xamarin/subscriptions","organizations_url":"https://api.github.com/users/xamarin/orgs","repos_url":"https://api.github.com/users/xamarin/repos","events_url":"https://api.github.com/users/xamarin/events{/privacy}","received_events_url":"https://api.github.com/users/xamarin/received_events","type":"Organization","site_admin":false},"repo":{"id":54213490,"node_id":"MDEwOlJlcG9zaXRvcnk1NDIxMzQ5MA==","name":"Xamarin.Forms","full_name":"xamarin/Xamarin.Forms","private":false,"owner":{"login":"xamarin","id":790012,"node_id":"MDEyOk9yZ2FuaXphdGlvbjc5MDAxMg==","avatar_url":"https://avatars0.githubusercontent.com/u/790012?v=4","gravatar_id":"","url":"https://api.github.com/users/xamarin","html_url":"https://github.com/xamarin","followers_url":"https://api.github.com/users/xamarin/followers","following_url":"https://api.github.com/users/xamarin/following{/other_user}","gists_url":"https://api.github.com/users/xamarin/gists{/gist_id}","starred_url":"https://api.github.com/users/xamarin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xamarin/subscriptions","organizations_url":"https://api.github.com/users/xamarin/orgs","repos_url":"https://api.github.com/users/xamarin/repos","events_url":"https://api.github.com/users/xamarin/events{/privacy}","received_events_url":"https://api.github.com/users/xamarin/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/xamarin/Xamarin.Forms","description":"Xamarin.Forms official home","fork":false,"url":"https://api.github.com/repos/xamarin/Xamarin.Forms","forks_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/forks","keys_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/keys{/key_id}","collaborators_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/teams","hooks_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/hooks","issue_events_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/issues/events{/number}","events_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/events","assignees_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/assignees{/user}","branches_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/branches{/branch}","tags_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/tags","blobs_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/git/refs{/sha}","trees_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/git/trees{/sha}","statuses_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/statuses/{sha}","languages_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/languages","stargazers_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/stargazers","contributors_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/contributors","subscribers_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/subscribers","subscription_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/subscription","commits_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/commits{/sha}","git_commits_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/git/commits{/sha}","comments_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/comments{/number}","issue_comment_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/issues/comments{/number}","contents_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/contents/{+path}","compare_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/compare/{base}...{head}","merges_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/merges","archive_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/downloads","issues_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/issues{/number}","pulls_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/pulls{/number}","milestones_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/milestones{/number}","notifications_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/labels{/name}","releases_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/releases{/id}","deployments_url":"https://api.github.com/repos/xamarin/Xamarin.Forms/deployments","created_at":"2016-03-18T15:52:03Z","updated_at":"2018-10-12T19:50:57Z","pushed_at":"2018-10-12T19:50:43Z","git_url":"git://github.com/xamarin/Xamarin.Forms.git","ssh_url":"git@github.com:xamarin/Xamarin.Forms.git","clone_url":"https://github.com/xamarin/Xamarin.Forms.git","svn_url":"https://github.com/xamarin/Xamarin.Forms","homepage":"https://xamarin.com/forms","size":49314,"stargazers_count":2672,"watchers_count":2672,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1091,"mirror_url":null,"archived":false,"open_issues_count":942,"license":{"key":"other","name":"Other","spdx_id":"NOASSERTION","url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":1091,"open_issues":942,"watchers":2672,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/xamarin/Xamarin.Forms/pulls/4052"},"html":{"href":"https://github.com/xamarin/Xamarin.Forms/pull/4052"},"issue":{"href":"https://api.github.com/repos/xamarin/Xamarin.Forms/issues/4052"},"comments":{"href":"https://api.github.com/repos/xamarin/Xamarin.Forms/issues/4052/comments"},"review_comments":{"href":"https://api.github.com/repos/xamarin/Xamarin.Forms/pulls/4052/comments"},"review_comment":{"href":"https://api.github.com/repos/xamarin/Xamarin.Forms/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/xamarin/Xamarin.Forms/pulls/4052/commits"},"statuses":{"href":"https://api.github.com/repos/xamarin/Xamarin.Forms/statuses/1c409d9ea6f05b028648619345f4d063d33e245b"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"rmarinho"}}