From df6abfff17f6d7d63a6739aefa467948b156b134 Mon Sep 17 00:00:00 2001 From: Stanislav Lashmanov Date: Wed, 29 Nov 2023 17:23:15 +0400 Subject: [PATCH] Diffs SSR POC --- .../components/diff_file_drafts.vue | 14 +- .../components/diff_discussion_reply.vue | 7 +- .../diffs/components/diff_line_note_form.vue | 5 +- .../diffs/components/diffs_file_tree.vue | 9 +- .../diffs/components/tree_list.vue | 17 +- app/assets/javascripts/main.js | 12 +- app/assets/javascripts/mr_notes/init.js | 14 +- .../merge_requests/diffs/diff_file.js | 194 ++++++++++++++++++ .../merge_requests/diffs/diff_store.js | 56 +++++ .../merge_requests/diffs/file_group.js | 39 ++++ .../projects/merge_requests/diffs/index.js | 37 +++- .../merge_requests/diffs/render_streams.js | 24 +++ .../projects/merge_requests/diffs/store.js | 4 + app/assets/javascripts/streaming/constants.js | 2 +- .../javascripts/streaming/render_balancer.js | 2 +- .../vue_shared/components/file_row.vue | 11 +- .../page_bundles/merge_request.scss | 2 +- .../page_bundles/merge_requests.scss | 3 + app/assets/stylesheets/pages/notes.scss | 8 + .../projects/merge_requests_controller.rb | 5 + app/helpers/commits_helper.rb | 16 ++ app/helpers/diff_helper.rb | 6 +- app/helpers/merge_requests_helper.rb | 1 + app/models/commit.rb | 2 + app/models/diff_viewer/base.rb | 1 + app/views/projects/diffs/_file.html.haml | 11 +- app/views/projects/diffs/_files.html.haml | 6 + .../projects/diffs/_parallel_view.html.haml | 101 ++++----- .../projects/merge_requests/_page.html.haml | 5 +- .../projects/merge_requests/diffs.html.haml | 11 +- config/routes/merge_requests.rb | 1 + lib/gitlab/git/diff.rb | 1 + 32 files changed, 545 insertions(+), 82 deletions(-) create mode 100644 app/assets/javascripts/pages/projects/merge_requests/diffs/diff_file.js create mode 100644 app/assets/javascripts/pages/projects/merge_requests/diffs/diff_store.js create mode 100644 app/assets/javascripts/pages/projects/merge_requests/diffs/file_group.js create mode 100644 app/assets/javascripts/pages/projects/merge_requests/diffs/render_streams.js create mode 100644 app/assets/javascripts/pages/projects/merge_requests/diffs/store.js create mode 100644 app/views/projects/diffs/_files.html.haml diff --git a/app/assets/javascripts/batch_comments/components/diff_file_drafts.vue b/app/assets/javascripts/batch_comments/components/diff_file_drafts.vue index 62fd77ed5342fc..fa6b1dd2184c96 100644 --- a/app/assets/javascripts/batch_comments/components/diff_file_drafts.vue +++ b/app/assets/javascripts/batch_comments/components/diff_file_drafts.vue @@ -12,9 +12,15 @@ export default { }, mixins: [imageDiff], props: { + drafts: { + type: Array, + required: false, + default: null, + }, fileHash: { type: String, - required: true, + required: false, + default: null, }, showPin: { type: Boolean, @@ -29,8 +35,8 @@ export default { }, computed: { ...mapGetters('batchComments', ['draftsForFile']), - drafts() { - return this.draftsForFile(this.fileHash).filter( + _drafts() { + return (this.draftsForFile(this.fileHash) || this.drafts).filter( (f) => f.position?.position_type === this.positionType, ); }, @@ -41,7 +47,7 @@ export default {