Commit 01a97859 authored by Phil Hughes's avatar Phil Hughes

Merge branch '63590-pipeline-actions-cause-full-refresh' into 'master'

Resolve "Pipeline actions cause full refresh"

Closes #63590

See merge request gitlab-org/gitlab-ce!30190
parents 8608da87 cfa0c659
......@@ -44,6 +44,11 @@ export default {
cancelingPipeline: null,
};
},
watch: {
pipelines() {
this.cancelingPipeline = null;
},
},
created() {
eventHub.$on('openConfirmationModal', this.setModalData);
},
......
......@@ -241,7 +241,11 @@ export default {
return this.cancelingPipeline === this.pipeline.id;
},
},
watch: {
pipeline() {
this.isRetrying = false;
},
},
methods: {
handleCancelClick() {
eventHub.$emit('openConfirmationModal', {
......
......@@ -107,8 +107,8 @@ export default {
}
// Stop polling
this.poll.stop();
// Update the table
return this.getPipelines().then(() => this.poll.restart());
// Restarting the poll also makes an initial request
this.poll.restart();
},
fetchPipelines() {
if (!this.isMakingRequest) {
......@@ -153,7 +153,7 @@ export default {
postAction(endpoint) {
this.service
.postAction(endpoint)
.then(() => this.fetchPipelines())
.then(() => this.updateTable())
.catch(() => Flash(__('An error occurred while making the request.')));
},
},
......
---
title: Fix pipelines table to update without refreshing after action
merge_request: 30190
author:
type: fixed
......@@ -736,10 +736,9 @@ describe('Pipelines', () => {
});
describe('when a request is being made', () => {
it('stops polling, cancels the request, fetches pipelines & restarts polling', done => {
it('stops polling, cancels the request, & restarts polling', done => {
spyOn(vm.poll, 'stop');
spyOn(vm.poll, 'restart');
spyOn(vm, 'getPipelines').and.returnValue(Promise.resolve());
spyOn(vm.service.cancelationSource, 'cancel').and.callThrough();
setTimeout(() => {
......@@ -754,7 +753,6 @@ describe('Pipelines', () => {
expect(vm.poll.stop).toHaveBeenCalled();
setTimeout(() => {
expect(vm.getPipelines).toHaveBeenCalled();
expect(vm.poll.restart).toHaveBeenCalled();
done();
}, 0);
......@@ -765,10 +763,9 @@ describe('Pipelines', () => {
});
describe('when no request is being made', () => {
it('stops polling, fetches pipelines & restarts polling', done => {
it('stops polling & restarts polling', done => {
spyOn(vm.poll, 'stop');
spyOn(vm.poll, 'restart');
spyOn(vm, 'getPipelines').and.returnValue(Promise.resolve());
setTimeout(() => {
vm.$el.querySelector('.js-builds-dropdown-button').click();
......@@ -776,7 +773,6 @@ describe('Pipelines', () => {
expect(vm.poll.stop).toHaveBeenCalled();
setTimeout(() => {
expect(vm.getPipelines).toHaveBeenCalled();
expect(vm.poll.restart).toHaveBeenCalled();
done();
}, 0);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment