Added subnav to labels edit+new and milestones edit+new+show
Added subnav to blame show, blob edit, builds show, commit builds, commit show, environments edit and pipelines show Added subnav to new enviro view Added sidebar top position calculation logic Added sidebar translation to follow the subnav up when the body is scrolled until a certain limit
This commit is contained in:
parent
8581df3bfb
commit
680efd4f8d
16 changed files with 268 additions and 200 deletions
|
@ -15,18 +15,17 @@
|
|||
this.hideSidebar = bind(this.hideSidebar, this);
|
||||
this.toggleSidebar = bind(this.toggleSidebar, this);
|
||||
this.updateDropdown = bind(this.updateDropdown, this);
|
||||
this.$document = $(document);
|
||||
clearInterval(Build.interval);
|
||||
// Init breakpoint checker
|
||||
this.bp = Breakpoints.get();
|
||||
$('.js-build-sidebar').niceScroll();
|
||||
this.initSidebar();
|
||||
|
||||
this.populateJobs(this.build_stage);
|
||||
this.updateStageDropdownText(this.build_stage);
|
||||
this.hideSidebar();
|
||||
|
||||
$(document).off('click', '.js-sidebar-build-toggle').on('click', '.js-sidebar-build-toggle', this.toggleSidebar);
|
||||
$(window).off('resize.build').on('resize.build', this.hideSidebar);
|
||||
$(document).off('click', '.stage-item').on('click', '.stage-item', this.updateDropdown);
|
||||
this.$document.off('click', '.stage-item').on('click', '.stage-item', this.updateDropdown);
|
||||
$('#js-build-scroll > a').off('click').on('click', this.stepTrace);
|
||||
this.updateArtifactRemoveDate();
|
||||
if ($('#build-trace').length) {
|
||||
|
@ -62,6 +61,21 @@
|
|||
}
|
||||
}
|
||||
|
||||
Build.prototype.initSidebar = function() {
|
||||
this.$sidebar = $('.js-build-sidebar');
|
||||
this.sidebarTranslationLimits = {
|
||||
min: $('.navbar-gitlab').outerHeight() + $('.layout-nav').outerHeight()
|
||||
}
|
||||
this.sidebarTranslationLimits.max = this.sidebarTranslationLimits.min + $('.scrolling-tabs-container').outerHeight();
|
||||
this.$sidebar.css({
|
||||
top: this.sidebarTranslationLimits.max
|
||||
});
|
||||
this.$sidebar.niceScroll();
|
||||
this.hideSidebar();
|
||||
this.$document.off('click', '.js-sidebar-build-toggle').on('click', '.js-sidebar-build-toggle', this.toggleSidebar);
|
||||
this.$document.off('scroll.translateSidebar').on('scroll.translateSidebar', this.translateSidebar.bind(this));
|
||||
};
|
||||
|
||||
Build.prototype.getInitialBuildTrace = function() {
|
||||
var removeRefreshStatuses = ['success', 'failed', 'canceled', 'skipped']
|
||||
|
||||
|
@ -129,15 +143,23 @@
|
|||
|
||||
Build.prototype.toggleSidebar = function() {
|
||||
if (this.shouldHideSidebar()) {
|
||||
return $('.js-build-sidebar').toggleClass('right-sidebar-expanded right-sidebar-collapsed');
|
||||
return this.$sidebar.toggleClass('right-sidebar-expanded right-sidebar-collapsed');
|
||||
}
|
||||
};
|
||||
|
||||
Build.prototype.translateSidebar = function(e) {
|
||||
var newPosition = this.sidebarTranslationLimits.max - document.body.scrollTop;
|
||||
if (newPosition < this.sidebarTranslationLimits.min) newPosition = this.sidebarTranslationLimits.min;
|
||||
this.$sidebar.css({
|
||||
top: newPosition
|
||||
});
|
||||
};
|
||||
|
||||
Build.prototype.hideSidebar = function() {
|
||||
if (this.shouldHideSidebar()) {
|
||||
return $('.js-build-sidebar').removeClass('right-sidebar-expanded').addClass('right-sidebar-collapsed');
|
||||
return this.$sidebar.removeClass('right-sidebar-expanded').addClass('right-sidebar-collapsed');
|
||||
} else {
|
||||
return $('.js-build-sidebar').removeClass('right-sidebar-collapsed').addClass('right-sidebar-expanded');
|
||||
return this.$sidebar.removeClass('right-sidebar-collapsed').addClass('right-sidebar-expanded');
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -233,3 +233,9 @@
|
|||
right: 0;
|
||||
margin-top: -17px;
|
||||
}
|
||||
|
||||
@media (min-width: $screen-md-min) {
|
||||
.sub-nav.build {
|
||||
width: calc(100% + #{$gutter_width});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,45 +1,48 @@
|
|||
- @no_container = true
|
||||
- page_title "Blame", @blob.path, @ref
|
||||
= render "projects/commits/head"
|
||||
|
||||
%h3.page-title Blame view
|
||||
%div{ class: container_class }
|
||||
%h3.page-title Blame view
|
||||
|
||||
#blob-content-holder.tree-holder
|
||||
.file-holder
|
||||
.file-title
|
||||
= blob_icon @blob.mode, @blob.name
|
||||
%strong
|
||||
= @path
|
||||
%small= number_to_human_size @blob.size
|
||||
.file-actions
|
||||
= render "projects/blob/actions"
|
||||
.table-responsive.file-content.blame.code.js-syntax-highlight
|
||||
%table
|
||||
- current_line = 1
|
||||
- @blame_groups.each do |blame_group|
|
||||
%tr
|
||||
%td.blame-commit
|
||||
.commit
|
||||
- commit = blame_group[:commit]
|
||||
= author_avatar(commit, size: 36)
|
||||
.commit-row-title
|
||||
%strong
|
||||
= link_to_gfm truncate(commit.title, length: 35), namespace_project_commit_path(@project.namespace, @project, commit.id), class: "cdark"
|
||||
.pull-right
|
||||
= link_to commit.short_id, namespace_project_commit_path(@project.namespace, @project, commit), class: "monospace"
|
||||
|
||||
.light
|
||||
= commit_author_link(commit, avatar: false)
|
||||
authored
|
||||
#{time_ago_with_tooltip(commit.committed_date, skip_js: true)}
|
||||
%td.line-numbers
|
||||
- line_count = blame_group[:lines].count
|
||||
- (current_line...(current_line + line_count)).each do |i|
|
||||
%a.diff-line-num{href: "#L#{i}", id: "L#{i}", 'data-line-number' => i}
|
||||
= icon("link")
|
||||
= i
|
||||
\
|
||||
- current_line += line_count
|
||||
%td.lines
|
||||
%pre.code.highlight
|
||||
%code
|
||||
- blame_group[:lines].each do |line|
|
||||
#{line}
|
||||
#blob-content-holder.tree-holder
|
||||
.file-holder
|
||||
.file-title
|
||||
= blob_icon @blob.mode, @blob.name
|
||||
%strong
|
||||
= @path
|
||||
%small= number_to_human_size @blob.size
|
||||
.file-actions
|
||||
= render "projects/blob/actions"
|
||||
.table-responsive.file-content.blame.code.js-syntax-highlight
|
||||
%table
|
||||
- current_line = 1
|
||||
- @blame_groups.each do |blame_group|
|
||||
%tr
|
||||
%td.blame-commit
|
||||
.commit
|
||||
- commit = blame_group[:commit]
|
||||
= author_avatar(commit, size: 36)
|
||||
.commit-row-title
|
||||
%strong
|
||||
= link_to_gfm truncate(commit.title, length: 35), namespace_project_commit_path(@project.namespace, @project, commit.id), class: "cdark"
|
||||
.pull-right
|
||||
= link_to commit.short_id, namespace_project_commit_path(@project.namespace, @project, commit), class: "monospace"
|
||||
|
||||
.light
|
||||
= commit_author_link(commit, avatar: false)
|
||||
authored
|
||||
#{time_ago_with_tooltip(commit.committed_date, skip_js: true)}
|
||||
%td.line-numbers
|
||||
- line_count = blame_group[:lines].count
|
||||
- (current_line...(current_line + line_count)).each do |i|
|
||||
%a.diff-line-num{href: "#L#{i}", id: "L#{i}", 'data-line-number' => i}
|
||||
= icon("link")
|
||||
= i
|
||||
\
|
||||
- current_line += line_count
|
||||
%td.lines
|
||||
%pre.code.highlight
|
||||
%code
|
||||
- blame_group[:lines].each do |line|
|
||||
#{line}
|
||||
|
|
|
@ -1,28 +1,31 @@
|
|||
- @no_container = true
|
||||
- page_title "Edit", @blob.path, @ref
|
||||
- content_for :page_specific_javascripts do
|
||||
= page_specific_javascript_tag('lib/ace.js')
|
||||
= page_specific_javascript_tag('blob_edit/blob_edit_bundle.js')
|
||||
= render "projects/commits/head"
|
||||
|
||||
- if @conflict
|
||||
.alert.alert-danger
|
||||
Someone edited the file the same time you did. Please check out
|
||||
= link_to "the file", namespace_project_blob_path(@project.namespace, @project, tree_join(@target_branch, @file_path)), target: "_blank"
|
||||
and make sure your changes will not unintentionally remove theirs.
|
||||
%div{ class: container_class }
|
||||
- if @conflict
|
||||
.alert.alert-danger
|
||||
Someone edited the file the same time you did. Please check out
|
||||
= link_to "the file", namespace_project_blob_path(@project.namespace, @project, tree_join(@target_branch, @file_path)), target: "_blank"
|
||||
and make sure your changes will not unintentionally remove theirs.
|
||||
|
||||
.file-editor
|
||||
%ul.nav-links.no-bottom.js-edit-mode
|
||||
%li.active
|
||||
= link_to '#editor' do
|
||||
Edit File
|
||||
.file-editor
|
||||
%ul.nav-links.no-bottom.js-edit-mode
|
||||
%li.active
|
||||
= link_to '#editor' do
|
||||
Edit File
|
||||
|
||||
%li
|
||||
= link_to '#preview', 'data-preview-url' => namespace_project_preview_blob_path(@project.namespace, @project, @id) do
|
||||
= editing_preview_title(@blob.name)
|
||||
%li
|
||||
= link_to '#preview', 'data-preview-url' => namespace_project_preview_blob_path(@project.namespace, @project, @id) do
|
||||
= editing_preview_title(@blob.name)
|
||||
|
||||
= form_tag(namespace_project_update_blob_path(@project.namespace, @project, @id), method: :put, class: 'form-horizontal js-quick-submit js-requires-input js-edit-blob-form', data: blob_editor_paths) do
|
||||
= render 'projects/blob/editor', ref: @ref, path: @path, blob_data: @blob.data
|
||||
= render 'shared/new_commit_form', placeholder: "Update #{@blob.name}"
|
||||
= hidden_field_tag 'last_commit_sha', @last_commit_sha
|
||||
= hidden_field_tag 'content', '', id: "file-content"
|
||||
= hidden_field_tag 'from_merge_request_id', params[:from_merge_request_id]
|
||||
= render 'projects/commit_button', ref: @ref, cancel_path: namespace_project_blob_path(@project.namespace, @project, @id)
|
||||
= form_tag(namespace_project_update_blob_path(@project.namespace, @project, @id), method: :put, class: 'form-horizontal js-quick-submit js-requires-input js-edit-blob-form', data: blob_editor_paths) do
|
||||
= render 'projects/blob/editor', ref: @ref, path: @path, blob_data: @blob.data
|
||||
= render 'shared/new_commit_form', placeholder: "Update #{@blob.name}"
|
||||
= hidden_field_tag 'last_commit_sha', @last_commit_sha
|
||||
= hidden_field_tag 'content', '', id: "file-content"
|
||||
= hidden_field_tag 'from_merge_request_id', params[:from_merge_request_id]
|
||||
= render 'projects/commit_button', ref: @ref, cancel_path: namespace_project_blob_path(@project.namespace, @project, @id)
|
||||
|
|
|
@ -1,56 +1,59 @@
|
|||
- @no_container = true
|
||||
- page_title "#{@build.name} (##{@build.id})", "Builds"
|
||||
- trace_with_state = @build.trace_with_state
|
||||
- header_title project_title(@project, "Builds", project_builds_path(@project))
|
||||
= render "projects/pipelines/head", build_subnav: true
|
||||
|
||||
.build-page
|
||||
= render "header"
|
||||
%div{ class: container_class }
|
||||
.build-page
|
||||
= render "header"
|
||||
|
||||
- if @build.stuck?
|
||||
- unless @build.any_runners_online?
|
||||
.bs-callout.bs-callout-warning
|
||||
%p
|
||||
- if no_runners_for_project?(@build.project)
|
||||
This build is stuck, because the project doesn't have any runners online assigned to it.
|
||||
- elsif @build.tags.any?
|
||||
This build is stuck, because you don't have any active runners online with any of these tags assigned to them:
|
||||
- @build.tags.each do |tag|
|
||||
%span.label.label-primary
|
||||
= tag
|
||||
- else
|
||||
This build is stuck, because you don't have any active runners that can run this build.
|
||||
- if @build.stuck?
|
||||
- unless @build.any_runners_online?
|
||||
.bs-callout.bs-callout-warning
|
||||
%p
|
||||
- if no_runners_for_project?(@build.project)
|
||||
This build is stuck, because the project doesn't have any runners online assigned to it.
|
||||
- elsif @build.tags.any?
|
||||
This build is stuck, because you don't have any active runners online with any of these tags assigned to them:
|
||||
- @build.tags.each do |tag|
|
||||
%span.label.label-primary
|
||||
= tag
|
||||
- else
|
||||
This build is stuck, because you don't have any active runners that can run this build.
|
||||
|
||||
%br
|
||||
Go to
|
||||
= link_to namespace_project_runners_path(@build.project.namespace, @build.project) do
|
||||
Runners page
|
||||
%br
|
||||
Go to
|
||||
= link_to namespace_project_runners_path(@build.project.namespace, @build.project) do
|
||||
Runners page
|
||||
|
||||
.prepend-top-default
|
||||
- if @build.active?
|
||||
.autoscroll-container
|
||||
%button.btn.btn-success.btn-sm#autoscroll-button{:type => "button", :data => {:state => 'disabled'}} enable autoscroll
|
||||
- if @build.erased?
|
||||
.erased.alert.alert-warning
|
||||
- erased_by = "by #{link_to @build.erased_by.name, user_path(@build.erased_by)}" if @build.erased_by
|
||||
Build has been erased #{erased_by.html_safe} #{time_ago_with_tooltip(@build.erased_at)}
|
||||
- else
|
||||
#js-build-scroll.scroll-controls
|
||||
= link_to '#build-trace', class: 'btn' do
|
||||
%i.fa.fa-angle-up
|
||||
= link_to '#down-build-trace', class: 'btn' do
|
||||
%i.fa.fa-angle-down
|
||||
%pre.build-trace#build-trace
|
||||
%code.bash.js-build-output
|
||||
= icon("refresh spin", class: "js-build-refresh")
|
||||
.prepend-top-default
|
||||
- if @build.active?
|
||||
.autoscroll-container
|
||||
%button.btn.btn-success.btn-sm#autoscroll-button{:type => "button", :data => {:state => 'disabled'}} enable autoscroll
|
||||
- if @build.erased?
|
||||
.erased.alert.alert-warning
|
||||
- erased_by = "by #{link_to @build.erased_by.name, user_path(@build.erased_by)}" if @build.erased_by
|
||||
Build has been erased #{erased_by.html_safe} #{time_ago_with_tooltip(@build.erased_at)}
|
||||
- else
|
||||
#js-build-scroll.scroll-controls
|
||||
= link_to '#build-trace', class: 'btn' do
|
||||
%i.fa.fa-angle-up
|
||||
= link_to '#down-build-trace', class: 'btn' do
|
||||
%i.fa.fa-angle-down
|
||||
%pre.build-trace#build-trace
|
||||
%code.bash.js-build-output
|
||||
= icon("refresh spin", class: "js-build-refresh")
|
||||
|
||||
#down-build-trace
|
||||
#down-build-trace
|
||||
|
||||
= render "sidebar"
|
||||
= render "sidebar"
|
||||
|
||||
:javascript
|
||||
new Build({
|
||||
page_url: "#{namespace_project_build_url(@project.namespace, @project, @build)}",
|
||||
build_url: "#{namespace_project_build_url(@project.namespace, @project, @build, :json)}",
|
||||
build_status: "#{@build.status}",
|
||||
build_stage: "#{@build.stage}",
|
||||
state1: "#{trace_with_state[:state]}"
|
||||
})
|
||||
:javascript
|
||||
new Build({
|
||||
page_url: "#{namespace_project_build_url(@project.namespace, @project, @build)}",
|
||||
build_url: "#{namespace_project_build_url(@project.namespace, @project, @build, :json)}",
|
||||
build_status: "#{@build.status}",
|
||||
build_stage: "#{@build.stage}",
|
||||
state1: "#{trace_with_state[:state]}"
|
||||
})
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
- @no_container = true
|
||||
- page_title "Builds", "#{@commit.title} (#{@commit.short_id})", "Commits"
|
||||
= render "projects/commits/head"
|
||||
|
||||
.prepend-top-default
|
||||
= render "commit_box"
|
||||
%div{ class: container_class }
|
||||
.prepend-top-default
|
||||
= render "commit_box"
|
||||
|
||||
= render "ci_menu"
|
||||
= render "builds"
|
||||
= render "ci_menu"
|
||||
= render "builds"
|
||||
|
|
|
@ -1,14 +1,17 @@
|
|||
- @no_container = true
|
||||
- page_title "#{@commit.title} (#{@commit.short_id})", "Commits"
|
||||
- page_description @commit.description
|
||||
= render "projects/commits/head"
|
||||
|
||||
.prepend-top-default
|
||||
= render "commit_box"
|
||||
- if @commit.status
|
||||
= render "ci_menu"
|
||||
- else
|
||||
%div.block-connector
|
||||
= render "projects/diffs/diffs", diffs: @diffs
|
||||
= render "projects/notes/notes_with_form"
|
||||
- if can_collaborate_with_project?
|
||||
- %w(revert cherry-pick).each do |type|
|
||||
= render "projects/commit/change", type: type, commit: @commit, title: @commit.title
|
||||
%div{ class: container_class }
|
||||
.prepend-top-default
|
||||
= render "commit_box"
|
||||
- if @commit.status
|
||||
= render "ci_menu"
|
||||
- else
|
||||
%div.block-connector
|
||||
= render "projects/diffs/diffs", diffs: @diffs
|
||||
= render "projects/notes/notes_with_form"
|
||||
- if can_collaborate_with_project?
|
||||
- %w(revert cherry-pick).each do |type|
|
||||
= render "projects/commit/change", type: type, commit: @commit, title: @commit.title
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
- @no_container = true
|
||||
- page_title "Edit", @environment.name, "Environments"
|
||||
= render "projects/pipelines/head"
|
||||
|
||||
%h3.page-title
|
||||
Edit environment
|
||||
%hr
|
||||
= render 'form'
|
||||
%div{ class: container_class }
|
||||
%h3.page-title
|
||||
Edit environment
|
||||
%hr
|
||||
= render 'form'
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
- @no_container = true
|
||||
- page_title 'New Environment'
|
||||
= render "projects/pipelines/head"
|
||||
|
||||
%h3.page-title
|
||||
New environment
|
||||
%hr
|
||||
= render 'form'
|
||||
%div{ class: container_class }
|
||||
%h3.page-title
|
||||
New environment
|
||||
%hr
|
||||
= render 'form'
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
- @no_container = true
|
||||
- page_title "Edit", @label.name, "Labels"
|
||||
= render "projects/issues/head"
|
||||
|
||||
%h3.page-title
|
||||
Edit Label
|
||||
%hr
|
||||
= render 'form'
|
||||
%div{ class: container_class }
|
||||
%h3.page-title
|
||||
Edit Label
|
||||
%hr
|
||||
= render 'form'
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
- @no_container = true
|
||||
- page_title "New Label"
|
||||
= render "projects/issues/head"
|
||||
|
||||
%h3.page-title
|
||||
New Label
|
||||
%hr
|
||||
= render 'form'
|
||||
%div{ class: container_class }
|
||||
%h3.page-title
|
||||
New Label
|
||||
%hr
|
||||
= render 'form'
|
||||
|
|
|
@ -1,8 +1,12 @@
|
|||
- @no_container = true
|
||||
- page_title "Edit", @milestone.title, "Milestones"
|
||||
= render "projects/issues/head"
|
||||
|
||||
%h3.page-title
|
||||
Edit Milestone ##{@milestone.iid}
|
||||
%div{ class: container_class }
|
||||
|
||||
%hr
|
||||
%h3.page-title
|
||||
Edit Milestone ##{@milestone.iid}
|
||||
|
||||
= render "form"
|
||||
%hr
|
||||
|
||||
= render "form"
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
- @no_container = true
|
||||
- page_title "New Milestone"
|
||||
= render "projects/issues/head"
|
||||
|
||||
%h3.page-title
|
||||
New Milestone
|
||||
%div{ class: container_class }
|
||||
%h3.page-title
|
||||
New Milestone
|
||||
|
||||
%hr
|
||||
%hr
|
||||
|
||||
= render "form"
|
||||
= render "form"
|
||||
|
|
|
@ -1,49 +1,52 @@
|
|||
- @no_container = true
|
||||
- page_title @milestone.title, "Milestones"
|
||||
- page_description @milestone.description
|
||||
= render "projects/issues/head"
|
||||
|
||||
.detail-page-header
|
||||
.status-box{ class: status_box_class(@milestone) }
|
||||
- if @milestone.closed?
|
||||
Closed
|
||||
- elsif @milestone.expired?
|
||||
Past due
|
||||
- else
|
||||
Open
|
||||
%span.identifier
|
||||
Milestone ##{@milestone.iid}
|
||||
- if @milestone.expires_at
|
||||
%span.creator
|
||||
·
|
||||
= @milestone.expires_at
|
||||
.pull-right
|
||||
- if can?(current_user, :admin_milestone, @project)
|
||||
- if @milestone.active?
|
||||
= link_to 'Close Milestone', namespace_project_milestone_path(@project.namespace, @project, @milestone, milestone: {state_event: :close }), method: :put, class: "btn btn-close btn-nr btn-grouped"
|
||||
%div{ class: container_class }
|
||||
.detail-page-header
|
||||
.status-box{ class: status_box_class(@milestone) }
|
||||
- if @milestone.closed?
|
||||
Closed
|
||||
- elsif @milestone.expired?
|
||||
Past due
|
||||
- else
|
||||
= link_to 'Reopen Milestone', namespace_project_milestone_path(@project.namespace, @project, @milestone, milestone: {state_event: :activate }), method: :put, class: "btn btn-reopen btn-nr btn-grouped"
|
||||
Open
|
||||
%span.identifier
|
||||
Milestone ##{@milestone.iid}
|
||||
- if @milestone.expires_at
|
||||
%span.creator
|
||||
·
|
||||
= @milestone.expires_at
|
||||
.pull-right
|
||||
- if can?(current_user, :admin_milestone, @project)
|
||||
- if @milestone.active?
|
||||
= link_to 'Close Milestone', namespace_project_milestone_path(@project.namespace, @project, @milestone, milestone: {state_event: :close }), method: :put, class: "btn btn-close btn-nr btn-grouped"
|
||||
- else
|
||||
= link_to 'Reopen Milestone', namespace_project_milestone_path(@project.namespace, @project, @milestone, milestone: {state_event: :activate }), method: :put, class: "btn btn-reopen btn-nr btn-grouped"
|
||||
|
||||
= link_to edit_namespace_project_milestone_path(@project.namespace, @project, @milestone), class: "btn btn-grouped btn-nr" do
|
||||
Edit
|
||||
= link_to edit_namespace_project_milestone_path(@project.namespace, @project, @milestone), class: "btn btn-grouped btn-nr" do
|
||||
Edit
|
||||
|
||||
= link_to namespace_project_milestone_path(@project.namespace, @project, @milestone), data: { confirm: 'Are you sure?' }, method: :delete, class: "btn btn-grouped btn-danger" do
|
||||
Delete
|
||||
= link_to namespace_project_milestone_path(@project.namespace, @project, @milestone), data: { confirm: 'Are you sure?' }, method: :delete, class: "btn btn-grouped btn-danger" do
|
||||
Delete
|
||||
|
||||
.detail-page-description.milestone-detail
|
||||
%h2.title
|
||||
= markdown_field(@milestone, :title)
|
||||
%div
|
||||
- if @milestone.description.present?
|
||||
.description
|
||||
.wiki
|
||||
= preserve do
|
||||
= markdown_field(@milestone, :description)
|
||||
.detail-page-description.milestone-detail
|
||||
%h2.title
|
||||
= markdown_field(@milestone, :title)
|
||||
%div
|
||||
- if @milestone.description.present?
|
||||
.description
|
||||
.wiki
|
||||
= preserve do
|
||||
= markdown_field(@milestone, :description)
|
||||
|
||||
- if @milestone.total_items_count(current_user).zero?
|
||||
.alert.alert-success.prepend-top-default
|
||||
%span Assign some issues to this milestone.
|
||||
- elsif @milestone.complete?(current_user) && @milestone.active?
|
||||
.alert.alert-success.prepend-top-default
|
||||
%span All issues for this milestone are closed. You may close this milestone now.
|
||||
- if @milestone.total_items_count(current_user).zero?
|
||||
.alert.alert-success.prepend-top-default
|
||||
%span Assign some issues to this milestone.
|
||||
- elsif @milestone.complete?(current_user) && @milestone.active?
|
||||
.alert.alert-success.prepend-top-default
|
||||
%span All issues for this milestone are closed. You may close this milestone now.
|
||||
|
||||
= render 'shared/milestones/summary', milestone: @milestone, project: @project
|
||||
= render 'shared/milestones/tabs', milestone: @milestone
|
||||
= render 'shared/milestones/summary', milestone: @milestone, project: @project
|
||||
= render 'shared/milestones/tabs', milestone: @milestone
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
= content_for :sub_nav do
|
||||
.scrolling-tabs-container.sub-nav-scroll
|
||||
= render 'shared/nav_scroll'
|
||||
.nav-links.sub-nav.scrolling-tabs
|
||||
.nav-links.sub-nav.scrolling-tabs{ class: ('build' if local_assigns.fetch(:build_subnav, false)) }
|
||||
%ul{ class: (container_class) }
|
||||
- if project_nav_tab? :pipelines
|
||||
= nav_link(controller: :pipelines) do
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
- @no_container = true
|
||||
- page_title "Pipeline"
|
||||
= render "projects/pipelines/head"
|
||||
|
||||
.prepend-top-default
|
||||
- if @commit
|
||||
= render "projects/pipelines/info"
|
||||
%div.block-connector
|
||||
%div{ class: container_class }
|
||||
.prepend-top-default
|
||||
- if @commit
|
||||
= render "projects/pipelines/info"
|
||||
%div.block-connector
|
||||
|
||||
= render "projects/commit/pipeline", pipeline: @pipeline
|
||||
= render "projects/commit/pipeline", pipeline: @pipeline
|
||||
|
|
Loading…
Reference in a new issue