From 8b6a075e6ff3197ee984c3d21395e1e26bc3bb15 Mon Sep 17 00:00:00 2001 From: Fatih Acet Date: Tue, 2 Aug 2016 15:16:21 +0300 Subject: [PATCH] Implement commit in merge conflicts UI. --- .../javascripts/merge_conflict_data_provider.js.es6 | 10 +++++++++- app/assets/javascripts/merge_conflict_resolver.js.es6 | 10 ++++++++++ app/assets/javascripts/merge_request_tabs.js | 2 +- app/views/projects/merge_requests/conflicts.html.haml | 9 +++++---- 4 files changed, 25 insertions(+), 6 deletions(-) diff --git a/app/assets/javascripts/merge_conflict_data_provider.js.es6 b/app/assets/javascripts/merge_conflict_data_provider.js.es6 index 05ffc470d3e..00c52794f51 100644 --- a/app/assets/javascripts/merge_conflict_data_provider.js.es6 +++ b/app/assets/javascripts/merge_conflict_data_provider.js.es6 @@ -26,7 +26,7 @@ window.MergeConflictDataProvider = class MergeConflictDataProvider { } else { data.shortCommitSha = data.commit_sha.slice(0, 7); - data.commitMesage = data.commit_message; + data.commitMessage = data.commit_message; this.setParallelLines(data); this.setInlineLines(data); @@ -284,4 +284,12 @@ window.MergeConflictDataProvider = class MergeConflictDataProvider { vueInstance.conflictsData.errorMessage = 'Something went wrong!'; } + + getCommitData() { + return { + commitMessage: this.vueInstance.conflictsData.commitMessage, + sections: this.vueInstance.resolutionData + } + } + } diff --git a/app/assets/javascripts/merge_conflict_resolver.js.es6 b/app/assets/javascripts/merge_conflict_resolver.js.es6 index 8da698b3b3e..6da5bf6568e 100644 --- a/app/assets/javascripts/merge_conflict_resolver.js.es6 +++ b/app/assets/javascripts/merge_conflict_resolver.js.es6 @@ -22,6 +22,9 @@ window.MergeConflictResolver = class MergeConflictResolver { }, handleViewTypeChange(newType) { that.dataProvider.updateViewType(newType); + }, + commit() { + that.commit(); } } }) @@ -54,4 +57,11 @@ window.MergeConflictResolver = class MergeConflictResolver { } } + commit() { + $.post('./resolve_conflicts', this.dataProvider.getCommitData()) + .always( (data) => { + console.log(data) + }) + } + } diff --git a/app/assets/javascripts/merge_request_tabs.js b/app/assets/javascripts/merge_request_tabs.js index e038abe378c..52c2ed61012 100644 --- a/app/assets/javascripts/merge_request_tabs.js +++ b/app/assets/javascripts/merge_request_tabs.js @@ -81,7 +81,7 @@ if (action === 'show') { action = 'notes'; } - new_state = this._location.pathname.replace(/\/(commits|diffs|builds|conflicts)(\.html)?\/?$/, ''); + new_state = this._location.pathname.replace(/\/(commits|diffs|builds)(\.html)?\/?$/, ''); if (action !== 'notes') { new_state += "/" + action; } diff --git a/app/views/projects/merge_requests/conflicts.html.haml b/app/views/projects/merge_requests/conflicts.html.haml index b60e5558e7f..b178d7d2da1 100644 --- a/app/views/projects/merge_requests/conflicts.html.haml +++ b/app/views/projects/merge_requests/conflicts.html.haml @@ -107,10 +107,11 @@ .commit-message-container.form-group .max-width-marker - %textarea.form-control.js-commit-message{":disabled" => "!allResolved"} {{{conflictsData.commitMessage}}} + %textarea.form-control.js-commit-message{":disabled" => "!allResolved", "v-model" => "conflictsData.commitMessage"} + {{{conflictsData.commitMessage}}} - %button{type: 'button', class: 'btn btn-success js-submit-button', ":disabled" => "!allResolved"} + %button{type: 'button', class: 'btn btn-success js-submit-button', ":disabled" => "!allResolved", "@click" => "commit()"} Commit conflict resolution - %button{type: 'button', class: 'btn btn-cancel'} - Cancel + / %button{type: 'button', class: 'btn btn-cancel'} + / Cancel