{"action":"created","issue":{"url":"https://api.github.com/repos/GoogleWebComponents/firebase-element/issues/111","repository_url":"https://api.github.com/repos/GoogleWebComponents/firebase-element","labels_url":"https://api.github.com/repos/GoogleWebComponents/firebase-element/issues/111/labels{/name}","comments_url":"https://api.github.com/repos/GoogleWebComponents/firebase-element/issues/111/comments","events_url":"https://api.github.com/repos/GoogleWebComponents/firebase-element/issues/111/events","html_url":"https://github.com/GoogleWebComponents/firebase-element/pull/111","id":133465036,"number":111,"title":"Use \"set\" instead of \"splice\" for child changed","user":{"login":"louisptremblay","id":779615,"avatar_url":"https://avatars.githubusercontent.com/u/779615?v=3","gravatar_id":"","url":"https://api.github.com/users/louisptremblay","html_url":"https://github.com/louisptremblay","followers_url":"https://api.github.com/users/louisptremblay/followers","following_url":"https://api.github.com/users/louisptremblay/following{/other_user}","gists_url":"https://api.github.com/users/louisptremblay/gists{/gist_id}","starred_url":"https://api.github.com/users/louisptremblay/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/louisptremblay/subscriptions","organizations_url":"https://api.github.com/users/louisptremblay/orgs","repos_url":"https://api.github.com/users/louisptremblay/repos","events_url":"https://api.github.com/users/louisptremblay/events{/privacy}","received_events_url":"https://api.github.com/users/louisptremblay/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":14,"created_at":"2016-02-13T19:42:32Z","updated_at":"2016-03-22T21:27:30Z","closed_at":"2016-03-22T15:50:29Z","pull_request":{"url":"https://api.github.com/repos/GoogleWebComponents/firebase-element/pulls/111","html_url":"https://github.com/GoogleWebComponents/firebase-element/pull/111","diff_url":"https://github.com/GoogleWebComponents/firebase-element/pull/111.diff","patch_url":"https://github.com/GoogleWebComponents/firebase-element/pull/111.patch"},"body":"When using firebase-collection in a dom-repeat, the whole dom-repeat has to refresh every time a child changes, instead of only the modified child. That's because it is updating the array with a splice.\r\n\r\nIf we use a \"set\" instead, only the actual child is refreshed. \r\n\r\nThe main problem with the \"splice\" was that I was losing focus on an input during the refresh."},"comment":{"url":"https://api.github.com/repos/GoogleWebComponents/firebase-element/issues/comments/200036921","html_url":"https://github.com/GoogleWebComponents/firebase-element/pull/111#issuecomment-200036921","issue_url":"https://api.github.com/repos/GoogleWebComponents/firebase-element/issues/111","id":200036921,"user":{"login":"kevinpschaaf","id":1354932,"avatar_url":"https://avatars.githubusercontent.com/u/1354932?v=3","gravatar_id":"","url":"https://api.github.com/users/kevinpschaaf","html_url":"https://github.com/kevinpschaaf","followers_url":"https://api.github.com/users/kevinpschaaf/followers","following_url":"https://api.github.com/users/kevinpschaaf/following{/other_user}","gists_url":"https://api.github.com/users/kevinpschaaf/gists{/gist_id}","starred_url":"https://api.github.com/users/kevinpschaaf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kevinpschaaf/subscriptions","organizations_url":"https://api.github.com/users/kevinpschaaf/orgs","repos_url":"https://api.github.com/users/kevinpschaaf/repos","events_url":"https://api.github.com/users/kevinpschaaf/events{/privacy}","received_events_url":"https://api.github.com/users/kevinpschaaf/received_events","type":"User","site_admin":false},"created_at":"2016-03-22T21:27:30Z","updated_at":"2016-03-22T21:27:30Z","body":"@louisptremblay Got it, thanks.  Your bin loses focus as a result of splice replacement because, even though the instance is reused by dom-repeat, it is detached and then reattached as part of the reuse code path, which causes the input to lose focus.  :+1: on the change to use `set`, and it makes sense that this resolves the issue.  Thanks!"}}