Improve performance of MR Changes tab: reduce event listeners on scroll event
(This is an interim proposal until we have this rewritten in CSS: see https://gitlab.com/gitlab-org/gitlab-ce/issues/48734)
At the moment, to provide the feature of keeping the name of the file sticky at the top of the viewport, we have, for every scroll
event:
- 1x listener on
changed_files.vue
-
n
x listeners on `diff_file.vue``
For n
being the number of changed files on that MR.
Potential improvements:
- Debounce the method and only call it every X miliseconds
- Rewrite the js code to only have one event listener per page for all the files
Edited by André Luís