diff options
Diffstat (limited to 'app/views/projects/merge_requests/creations')
7 files changed, 135 insertions, 0 deletions
diff --git a/app/views/projects/merge_requests/creations/_diffs.html.haml b/app/views/projects/merge_requests/creations/_diffs.html.haml new file mode 100644 index 00000000000..627fc4e9671 --- /dev/null +++ b/app/views/projects/merge_requests/creations/_diffs.html.haml @@ -0,0 +1 @@ += render "projects/diffs/diffs", diffs: @diffs, environment: @environment, show_whitespace_toggle: false diff --git a/app/views/projects/merge_requests/creations/_new_compare.html.haml b/app/views/projects/merge_requests/creations/_new_compare.html.haml new file mode 100644 index 00000000000..9d5cebdda53 --- /dev/null +++ b/app/views/projects/merge_requests/creations/_new_compare.html.haml @@ -0,0 +1,68 @@ +%h3.page-title + New Merge Request + += form_for [@project.namespace.becomes(Namespace), @project, @merge_request], url: project_new_merge_request_path(@project), method: :get, html: { class: "merge-request-form form-inline js-requires-input" } do |f| + .hide.alert.alert-danger.mr-compare-errors + .merge-request-branches.js-merge-request-new-compare.row{ 'data-target-project-url': project_new_merge_request_update_branches_path(@source_project), 'data-source-branch-url': project_new_merge_request_branch_from_path(@source_project), 'data-target-branch-url': project_new_merge_request_branch_to_path(@source_project) } + .col-md-6 + .panel.panel-default.panel-new-merge-request + .panel-heading + Source branch + .panel-body.clearfix + .merge-request-select.dropdown + = f.hidden_field :source_project_id + = dropdown_toggle @merge_request.source_project_path, { toggle: "dropdown", field_name: "#{f.object_name}[source_project_id]", disabled: @merge_request.persisted? }, { toggle_class: "js-compare-dropdown js-source-project" } + .dropdown-menu.dropdown-menu-selectable.dropdown-source-project + = dropdown_title("Select source project") + = dropdown_filter("Search projects") + = dropdown_content do + = render 'projects/merge_requests/dropdowns/project', + projects: [@merge_request.source_project], + selected: f.object.source_project_id + .merge-request-select.dropdown + = f.hidden_field :source_branch + = dropdown_toggle f.object.source_branch || "Select source branch", { toggle: "dropdown", field_name: "#{f.object_name}[source_branch]" }, { toggle_class: "js-compare-dropdown js-source-branch git-revision-dropdown-toggle" } + .dropdown-menu.dropdown-menu-selectable.dropdown-source-branch.git-revision-dropdown + = dropdown_title("Select source branch") + = dropdown_filter("Search branches") + = dropdown_content do + = render 'projects/merge_requests/dropdowns/branch', + branches: @merge_request.source_branches, + selected: f.object.source_branch + .panel-footer + .text-center= icon('spinner spin', class: 'js-source-loading') + %ul.list-unstyled.mr_source_commit + + .col-md-6 + .panel.panel-default.panel-new-merge-request + .panel-heading + Target branch + .panel-body.clearfix + - projects = target_projects(@project) + .merge-request-select.dropdown + = f.hidden_field :target_project_id + = dropdown_toggle f.object.target_project.full_path, { toggle: "dropdown", field_name: "#{f.object_name}[target_project_id]", disabled: @merge_request.persisted? }, { toggle_class: "js-compare-dropdown js-target-project" } + .dropdown-menu.dropdown-menu-selectable.dropdown-target-project + = dropdown_title("Select target project") + = dropdown_filter("Search projects") + = dropdown_content do + = render 'projects/merge_requests/dropdowns/project', + projects: projects, + selected: f.object.target_project_id + .merge-request-select.dropdown + = f.hidden_field :target_branch + = dropdown_toggle f.object.target_branch, { toggle: "dropdown", field_name: "#{f.object_name}[target_branch]" }, { toggle_class: "js-compare-dropdown js-target-branch git-revision-dropdown-toggle" } + .dropdown-menu.dropdown-menu-selectable.dropdown-target-branch.js-target-branch-dropdown.git-revision-dropdown + = dropdown_title("Select target branch") + = dropdown_filter("Search branches") + = dropdown_content do + = render 'projects/merge_requests/dropdowns/branch', + branches: @merge_request.target_branches, + selected: f.object.target_branch + .panel-footer + .text-center= icon('spinner spin', class: "js-target-loading") + %ul.list-unstyled.mr_target_commit + + - if @merge_request.errors.any? + = form_errors(@merge_request) + = f.submit 'Compare branches and continue', class: "btn btn-new mr-compare-btn" diff --git a/app/views/projects/merge_requests/creations/_new_submit.html.haml b/app/views/projects/merge_requests/creations/_new_submit.html.haml new file mode 100644 index 00000000000..4b5fa28078a --- /dev/null +++ b/app/views/projects/merge_requests/creations/_new_submit.html.haml @@ -0,0 +1,52 @@ +%h3.page-title + New Merge Request +%p.slead + - source_title, target_title = format_mr_branch_names(@merge_request) + From + %strong.ref-name= source_title + %span into + %strong.ref-name= target_title + + %span.pull-right + = link_to 'Change branches', mr_change_branches_path(@merge_request) +%hr += form_for [@project.namespace.becomes(Namespace), @project, @merge_request], html: { class: 'merge-request-form form-horizontal common-note-form js-requires-input js-quick-submit' } do |f| + = render 'shared/issuable/form', f: f, issuable: @merge_request, commits: @commits + = f.hidden_field :source_project_id + = f.hidden_field :source_branch + = f.hidden_field :target_project_id + = f.hidden_field :target_branch + +.mr-compare.merge-request.js-merge-request-new-submit{ 'data-mr-submit-action': "#{j params[:tab].presence || 'new'}" } + - if @commits.empty? + .commits-empty + %h4 + There are no commits yet. + = custom_icon ('illustration_no_commits') + - else + %ul.merge-request-tabs.nav-links.no-top.no-bottom + %li.commits-tab.active + = link_to url_for(params), data: {target: 'div#commits', action: 'new', toggle: 'tab'} do + Commits + %span.badge= @commits.size + - if @pipelines.any? + %li.builds-tab + = link_to url_for(params.merge(action: 'pipelines')), data: {target: 'div#pipelines', action: 'pipelines', toggle: 'tab'} do + Pipelines + %span.badge= @pipelines.size + %li.diffs-tab + = link_to url_for(params.merge(action: 'diffs')), data: {target: 'div#diffs', action: 'diffs', toggle: 'tab'} do + Changes + %span.badge= @merge_request.diff_size + + .tab-content + #commits.commits.tab-pane.active + = render "projects/merge_requests/commits" + #diffs.diffs.tab-pane + -# This tab is always loaded via AJAX + - if @pipelines.any? + #pipelines.pipelines.tab-pane + = render 'projects/merge_requests/pipelines', endpoint: url_for(params.merge(action: 'pipelines', format: :json)), disable_initialization: true + + .mr-loading-status + = spinner diff --git a/app/views/projects/merge_requests/creations/branch_from.html.haml b/app/views/projects/merge_requests/creations/branch_from.html.haml new file mode 100644 index 00000000000..3837c4b388d --- /dev/null +++ b/app/views/projects/merge_requests/creations/branch_from.html.haml @@ -0,0 +1,2 @@ +- if @commit + = commit_to_html(@commit, @ref, @source_project) diff --git a/app/views/projects/merge_requests/creations/branch_to.html.haml b/app/views/projects/merge_requests/creations/branch_to.html.haml new file mode 100644 index 00000000000..d69b71790a0 --- /dev/null +++ b/app/views/projects/merge_requests/creations/branch_to.html.haml @@ -0,0 +1,2 @@ +- if @commit + = commit_to_html(@commit, @ref, @target_project) diff --git a/app/views/projects/merge_requests/creations/new.html.haml b/app/views/projects/merge_requests/creations/new.html.haml new file mode 100644 index 00000000000..3220512d60d --- /dev/null +++ b/app/views/projects/merge_requests/creations/new.html.haml @@ -0,0 +1,7 @@ +- breadcrumb_title "Merge Requests" +- page_title "New Merge Request" + +- if @merge_request.can_be_created && !params[:change_branches] + = render 'new_submit' +- else + = render 'new_compare' diff --git a/app/views/projects/merge_requests/creations/update_branches.html.haml b/app/views/projects/merge_requests/creations/update_branches.html.haml new file mode 100644 index 00000000000..64482973a89 --- /dev/null +++ b/app/views/projects/merge_requests/creations/update_branches.html.haml @@ -0,0 +1,3 @@ += render 'projects/merge_requests/dropdowns/branch', +branches: @target_branches, +selected: nil |