diff --git a/app/assets/javascripts/build.js b/app/assets/javascripts/build.js index 3d9b824d406..3468c87f5df 100644 --- a/app/assets/javascripts/build.js +++ b/app/assets/javascripts/build.js @@ -20,6 +20,7 @@ $(document).off('click', '.js-sidebar-build-toggle').on('click', '.js-sidebar-build-toggle', this.toggleSidebar); $(window).off('resize.build').on('resize.build', this.hideSidebar); this.updateArtifactRemoveDate(); + this.displayTestStatuses(); if ($('#build-trace').length) { this.getInitialBuildTrace(); this.initScrollButtonAffix(); @@ -132,6 +133,16 @@ } }; + Build.prototype.displayTestStatuses = function() { + $jobTopPosition = $('.build-job').first().offset().top; + + $('.build-job').each(function() { + if ($(this).offset().top > $jobTopPosition) { + $('.overflow-jobs > li').append($(this)); + } + }) + }; + return Build; })(); diff --git a/app/views/projects/builds/show.html.haml b/app/views/projects/builds/show.html.haml index ce9522b9929..8101d7a13da 100644 --- a/app/views/projects/builds/show.html.haml +++ b/app/views/projects/builds/show.html.haml @@ -12,23 +12,19 @@ - statuses.each do |build_status| - builds.select{|build| build.status == build_status}.each do |build| %li{class: ('active' if build == @build) } - = link_to namespace_project_build_path(@project.namespace, @project, build) do + = link_to namespace_project_build_path(@project.namespace, @project, build), class: 'build-job' do = ci_icon_for_status(build.status) %span - if build.name = build.name - else = build.id - - - builds.select{|build| build.status == "success"}.each do |build| - %li{class: ('active' if build == @build) } - = link_to namespace_project_build_path(@project.namespace, @project, build) do - = ci_icon_for_status(build.status) - %span - - if build.name - = build.name - - else - = build.id + .dropdown + %button.dropdown-menu-toggle{type: 'button', 'data-toggle' => 'dropdown'} + %span Test Name + = icon('chevron-down') + %ul.dropdown-menu.overflow-jobs + %li - if @build.retried? %li.active