Componentize diff lines and diff comments
This MR refactors Vue MR diff lines to introduce diff-table-row
and diff-table-cell
components.
Also refactors the diff comments by introducing inline-diff-comment-row
and parallel-diff-comment-row
.
This approach has several benefits,
- More componentized architecture hence easy to maintain and more testable.
- With componentized diff table we now can have computed properties instead of methods which will perform better on complex diff views.
- Componentized diff comments will work more performant then previous approach.
- Smaller and simple templates in parallel and inline diff views.
This MR also fixes #48297 (closed). The reason why it's included in this MR is, it was easier to fix #48297 (closed) in componentized version.
Fixes #48297 (closed)
Technical debt issue for the specs needs to be added. https://gitlab.com/gitlab-org/gitlab-ce/issues/48546
Edited by Fatih Acet