From 53f77cfee164b3e0f7e3efb6511dee5e72dd75e6 Mon Sep 17 00:00:00 2001 From: Tim Zallmann Date: Tue, 26 Jun 2018 18:49:22 +0000 Subject: [PATCH] Added Diff Viewer to new VUE based MR page --- .../javascripts/diffs/components/app.vue | 16 ++-- .../diffs/components/diff_content.vue | 46 ++++++--- .../diffs/components/inline_diff_view.vue | 2 +- app/assets/javascripts/diffs/index.js | 2 + app/assets/javascripts/diffs/store/actions.js | 7 +- .../javascripts/diffs/store/modules/index.js | 1 + .../javascripts/diffs/store/mutation_types.js | 2 +- .../javascripts/diffs/store/mutations.js | 7 +- .../components/diff_viewer/diff_viewer.vue | 8 +- app/assets/stylesheets/pages/diff.scss | 4 + .../projects/merge_requests/show.html.haml | 3 +- .../diffs/components/diff_content_spec.js | 96 ++++++++++++++++++- spec/javascripts/diffs/store/actions_spec.js | 13 +-- .../javascripts/diffs/store/mutations_spec.js | 8 +- .../helpers/init_vue_mr_page_helper.js | 2 + 15 files changed, 178 insertions(+), 39 deletions(-) diff --git a/app/assets/javascripts/diffs/components/app.vue b/app/assets/javascripts/diffs/components/app.vue index 82ca10f4163..deddb61ca31 100644 --- a/app/assets/javascripts/diffs/components/app.vue +++ b/app/assets/javascripts/diffs/components/app.vue @@ -26,6 +26,10 @@ export default { type: String, required: true, }, + projectPath: { + type: String, + required: true, + }, shouldShow: { type: Boolean, required: false, @@ -94,18 +98,16 @@ export default { }, }, mounted() { - this.setEndpoint(this.endpoint); - this - .fetchDiffFiles() - .catch(() => { - createFlash(__('Something went wrong on our end. Please try again!')); - }); + this.setBaseConfig({ endpoint: this.endpoint, projectPath: this.projectPath }); + this.fetchDiffFiles().catch(() => { + createFlash(__('Fetching diff files failed. Please reload the page to try again!')); + }); }, created() { this.adjustView(); }, methods: { - ...mapActions(['setEndpoint', 'fetchDiffFiles']), + ...mapActions(['setBaseConfig', 'fetchDiffFiles']), setActive(filePath) { this.activeFile = filePath; }, diff --git a/app/assets/javascripts/diffs/components/diff_content.vue b/app/assets/javascripts/diffs/components/diff_content.vue index adcd22f7876..48ba967285f 100644 --- a/app/assets/javascripts/diffs/components/diff_content.vue +++ b/app/assets/javascripts/diffs/components/diff_content.vue @@ -1,5 +1,7 @@ @@ -23,16 +37,26 @@ export default { diff --git a/app/assets/javascripts/diffs/components/inline_diff_view.vue b/app/assets/javascripts/diffs/components/inline_diff_view.vue index 0ed3dc7f3ad..21376117bef 100644 --- a/app/assets/javascripts/diffs/components/inline_diff_view.vue +++ b/app/assets/javascripts/diffs/components/inline_diff_view.vue @@ -36,7 +36,7 @@ export default { + class="code diff-wrap-lines js-syntax-highlight text-file js-diff-inline-view">