{"action":"opened","issue":{"url":"https://api.github.com/repos/UMM-CSci-3601/3601-lab4_mongo/issues/29","repository_url":"https://api.github.com/repos/UMM-CSci-3601/3601-lab4_mongo","labels_url":"https://api.github.com/repos/UMM-CSci-3601/3601-lab4_mongo/issues/29/labels{/name}","comments_url":"https://api.github.com/repos/UMM-CSci-3601/3601-lab4_mongo/issues/29/comments","events_url":"https://api.github.com/repos/UMM-CSci-3601/3601-lab4_mongo/issues/29/events","html_url":"https://github.com/UMM-CSci-3601/3601-lab4_mongo/issues/29","id":308400701,"number":29,"title":"Change ngFor in UserListComponent so that it is no longer binded directly to the filter function","user":{"login":"bushw011","id":25711751,"avatar_url":"https://avatars0.githubusercontent.com/u/25711751?v=4","gravatar_id":"","url":"https://api.github.com/users/bushw011","html_url":"https://github.com/bushw011","followers_url":"https://api.github.com/users/bushw011/followers","following_url":"https://api.github.com/users/bushw011/following{/other_user}","gists_url":"https://api.github.com/users/bushw011/gists{/gist_id}","starred_url":"https://api.github.com/users/bushw011/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bushw011/subscriptions","organizations_url":"https://api.github.com/users/bushw011/orgs","repos_url":"https://api.github.com/users/bushw011/repos","events_url":"https://api.github.com/users/bushw011/events{/privacy}","received_events_url":"https://api.github.com/users/bushw011/received_events","type":"User","site_admin":false},"labels":[{"id":698283839,"url":"https://api.github.com/repos/UMM-CSci-3601/3601-lab4_mongo/labels/enhancement","name":"enhancement","color":"84b6eb","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-03-26T00:22:15Z","updated_at":"2018-03-26T00:22:15Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Due to the way change detection works in Angular, if we generate our list with something like *ngFor=\"let user of filterUsers(param)\", that filter function will be repeatedly called whenever any change whatsoever in the DOM is detected. This goes for clicking anything, scrolling (I think), or typing anything, even if our action has nothing to do with filtering, that function will be called over and over again hundreds of times. Filtering is an expensive operation, so this can be very problematic and is likely to blame for poor performance when transferring it over to the TodoListComponent, where there are hundreds of objects being dealt with. I'm assuming this is why the accordions and other things were so slow for the majority of the TodoLists this past lab."}}
{"actor":{"display_login":"bushw011"}}