parent
4b9bd18843
commit
3ef1e76659
|
@ -1,3 +1,4 @@
|
|||
/* eslint-disable no-new */
|
||||
/* global Flash */
|
||||
|
||||
/**
|
||||
|
@ -30,8 +31,8 @@
|
|||
bindEvents() {
|
||||
const dropdownButtonSelector = 'button.js-builds-dropdown-button';
|
||||
|
||||
$(this.container).off('click', dropdownButtonSelector, this.getBuildsList);
|
||||
$(this.container).on('click', dropdownButtonSelector, this.getBuildsList);
|
||||
$(this.container).off('click', dropdownButtonSelector, this.getBuildsList)
|
||||
.on('click', dropdownButtonSelector, this.getBuildsList);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -55,21 +56,25 @@
|
|||
* @return {Promise}
|
||||
*/
|
||||
getBuildsList(e) {
|
||||
const endpoint = e.currentTarget.dataset.stageEndpoint;
|
||||
const button = e.currentTarget;
|
||||
const endpoint = button.dataset.stageEndpoint;
|
||||
|
||||
return $.ajax({
|
||||
dataType: 'json',
|
||||
type: 'GET',
|
||||
url: endpoint,
|
||||
beforeSend: () => {
|
||||
this.renderBuildsList(e.currentTarget, '');
|
||||
this.toggleLoading(e.currentTarget);
|
||||
this.renderBuildsList(button, '');
|
||||
this.toggleLoading(button);
|
||||
},
|
||||
success: (data) => {
|
||||
this.toggleLoading(e.currentTarget);
|
||||
this.renderBuildsList(e.currentTarget, data.html);
|
||||
this.toggleLoading(button);
|
||||
this.renderBuildsList(button, data.html);
|
||||
},
|
||||
error: () => {
|
||||
this.toggleLoading(button);
|
||||
new Flash('An error occurred while fetching the builds.', 'alert');
|
||||
},
|
||||
error: () => new Flash('An error occurred while fetching the builds.', 'alert'),
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
@ -44,17 +44,15 @@
|
|||
- pipeline.stages.each do |stage|
|
||||
- if stage.status
|
||||
- detailed_status = stage.detailed_status(current_user)
|
||||
- klass = "has-tooltip ci-status-icon ci-status-icon-#{detailed_status.group}"
|
||||
- icon_status = "#{detailed_status.icon}_borderless"
|
||||
- icon_status_klass = "ci-status-icon ci-status-icon-#{detailed_status.group}"
|
||||
- tooltip = "#{stage.name}: #{detailed_status.label || 'not found'}"
|
||||
- status_klass = "ci-status-icon ci-status-icon-#{detailed_status.group}"
|
||||
|
||||
.stage-container.mini-pipeline-graph
|
||||
.dropdown.inline.build-content
|
||||
%button.has-tooltip.builds-dropdown.js-builds-dropdown-button{ type: 'button', data: { toggle: 'dropdown', title: tooltip, placement: 'top', "stage-endpoint" => stage_namespace_project_pipeline_path(pipeline.project.namespace, pipeline.project, pipeline, stage: stage.name)}}
|
||||
%span{ class: klass }
|
||||
%button.has-tooltip.builds-dropdown.js-builds-dropdown-button{ type: 'button', data: { toggle: 'dropdown', title: "#{stage.name}: #{detailed_status.label}", placement: 'top', "stage-endpoint" => stage_namespace_project_pipeline_path(pipeline.project.namespace, pipeline.project, pipeline, stage: stage.name)}}
|
||||
%span.has-tooltip{ class: status_klass }
|
||||
%span.mini-pipeline-graph-icon-container
|
||||
%span{ class: icon_status_klass }= custom_icon(icon_status)
|
||||
%span{ class: status_klass }= custom_icon(icon_status)
|
||||
= icon('caret-down', class: 'dropdown-caret')
|
||||
|
||||
.js-builds-dropdown-container
|
||||
|
|
|
@ -74,7 +74,10 @@ describe "Pipelines", feature: true, js:true do
|
|||
|
||||
before { visit namespace_project_pipelines_path(project.namespace, project) }
|
||||
|
||||
it { expect(page).to have_link('Manual build') }
|
||||
it do
|
||||
find('.js-pipeline-dropdown-manual-actions').click
|
||||
expect(page).to have_link('Manual build')
|
||||
end
|
||||
|
||||
context 'when playing' do
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@ describe Ci::Stage, models: true do
|
|||
|
||||
subject { stage.statuses_count }
|
||||
|
||||
it "statuses only from current stage" do
|
||||
it "counts statuses only from current stage" do
|
||||
is_expected.to eq(1)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue