Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Reduce time to render contacts list through live-list
Performance optimizations for the Live-List class as-used in the contacts tab. Contact controller currently calls livelist.update once per list item and then livelist.refresh after all items are added. This change updates the interface livelist.set to avoid the incremental dom changes from livelist.update and then the full re-paint from livelist.refresh. The proposed change inserts the items each item into the model once, sorts the full list once, and then draws everything once. To avoid unnecessary scanning, update livelist.dom to a hashmap. livelist.set() accepts an optional flag reuseExistingDom which can avoid expensive calls to listItemFor when the contents of the DOM are being reused and not updated (eg. pagination). #4445
- Loading branch information
1 parent
0d309cc
commit 0abf57a
Showing
4 changed files
with
149 additions
and
96 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.