Skip to content
Snippets Groups Projects
Commit cfe2e6b7 authored by Filipa Lacerda's avatar Filipa Lacerda
Browse files

Fix loading being shown at the same time at the empty states

parent d34d2718
No related branches found
No related tags found
No related merge requests found
/* eslint-disable no-new*/
/* global Flash */
import Vue from 'vue'; import Vue from 'vue';
import PipelinesTableComponent from '../../vue_shared/components/pipelines_table'; import PipelinesTableComponent from '../../vue_shared/components/pipelines_table';
import PipelinesService from '../../vue_pipelines_index/services/pipelines_service'; import PipelinesService from '../../vue_pipelines_index/services/pipelines_service';
Loading
@@ -50,11 +48,11 @@ export default Vue.component('pipelines-table', {
Loading
@@ -50,11 +48,11 @@ export default Vue.component('pipelines-table', {
   
computed: { computed: {
shouldRenderErrorState() { shouldRenderErrorState() {
return this.hasError && !this.pageRequest; return this.hasError && !this.isLoading;
}, },
   
shouldRenderEmptyState() { shouldRenderEmptyState() {
return !this.state.pipelines.length && !this.pageRequest; return !this.state.pipelines.length && !this.isLoading;
}, },
}, },
   
Loading
@@ -98,7 +96,6 @@ export default Vue.component('pipelines-table', {
Loading
@@ -98,7 +96,6 @@ export default Vue.component('pipelines-table', {
.catch(() => { .catch(() => {
this.hasError = true; this.hasError = true;
this.isLoading = false; this.isLoading = false;
new Flash('An error occurred while fetching the pipelines, please reload the page again.');
}); });
}, },
}, },
Loading
Loading
Loading
@@ -45,7 +45,7 @@ export default {
Loading
@@ -45,7 +45,7 @@ export default {
state: this.store.state, state: this.store.state,
apiScope: 'all', apiScope: 'all',
pagenum: 1, pagenum: 1,
pageRequest: false, isLoading: false,
hasError: false, hasError: false,
}; };
}, },
Loading
@@ -61,7 +61,7 @@ export default {
Loading
@@ -61,7 +61,7 @@ export default {
}, },
   
shouldRenderErrorState() { shouldRenderErrorState() {
return this.hasError && !this.pageRequest; return this.hasError && !this.isLoading;
}, },
   
/** /**
Loading
@@ -71,7 +71,7 @@ export default {
Loading
@@ -71,7 +71,7 @@ export default {
* @return {Boolean} * @return {Boolean}
*/ */
shouldRenderEmptyState() { shouldRenderEmptyState() {
return !this.pageRequest && return !this.isLoading &&
!this.hasError && !this.hasError &&
!this.state.pipelines.length && !this.state.pipelines.length &&
(this.scope === 'all' || this.scope === null); (this.scope === 'all' || this.scope === null);
Loading
@@ -83,7 +83,7 @@ export default {
Loading
@@ -83,7 +83,7 @@ export default {
* @return {Boolean} * @return {Boolean}
*/ */
shouldRenderNoPipelinesMessage() { shouldRenderNoPipelinesMessage() {
return !this.pageRequest && return !this.isLoading &&
!this.hasError && !this.hasError &&
!this.state.pipelines.length && !this.state.pipelines.length &&
this.scope !== 'all' && this.scope !== 'all' &&
Loading
@@ -92,7 +92,7 @@ export default {
Loading
@@ -92,7 +92,7 @@ export default {
   
shouldRenderTable() { shouldRenderTable() {
return !this.hasError && return !this.hasError &&
!this.pageRequest && this.state.pipelines.length; !this.isLoading && this.state.pipelines.length;
}, },
   
/** /**
Loading
@@ -101,7 +101,7 @@ export default {
Loading
@@ -101,7 +101,7 @@ export default {
* @return {Boolean} * @return {Boolean}
*/ */
shouldRenderPagination() { shouldRenderPagination() {
return !this.pageRequest && return !this.isLoading &&
this.state.pipelines.length && this.state.pipelines.length &&
this.state.pageInfo.total > this.state.pageInfo.perPage; this.state.pageInfo.total > this.state.pageInfo.perPage;
}, },
Loading
@@ -157,7 +157,7 @@ export default {
Loading
@@ -157,7 +157,7 @@ export default {
const pageNumber = gl.utils.getParameterByName('page') || this.pagenum; const pageNumber = gl.utils.getParameterByName('page') || this.pagenum;
const scope = gl.utils.getParameterByName('scope') || this.apiScope; const scope = gl.utils.getParameterByName('scope') || this.apiScope;
   
this.pageRequest = true; this.isLoading = true;
return this.service.getPipelines(scope, pageNumber) return this.service.getPipelines(scope, pageNumber)
.then(resp => ({ .then(resp => ({
headers: resp.headers, headers: resp.headers,
Loading
@@ -169,11 +169,11 @@ export default {
Loading
@@ -169,11 +169,11 @@ export default {
this.store.storePagination(response.headers); this.store.storePagination(response.headers);
}) })
.then(() => { .then(() => {
this.pageRequest = false; this.isLoading = false;
}) })
.catch(() => { .catch(() => {
this.hasError = true; this.hasError = true;
this.pageRequest = false; this.isLoading = false;
}); });
}, },
}, },
Loading
@@ -183,7 +183,7 @@ export default {
Loading
@@ -183,7 +183,7 @@ export default {
   
<div <div
class="top-area" class="top-area"
v-if="!pageRequest && !shouldRenderEmptyState"> v-if="!isLoading && !shouldRenderEmptyState">
<navigation-tabs <navigation-tabs
:scope="scope" :scope="scope"
:count="state.count" :count="state.count"
Loading
@@ -201,7 +201,7 @@ export default {
Loading
@@ -201,7 +201,7 @@ export default {
   
<div <div
class="realtime-loading" class="realtime-loading"
v-if="pageRequest"> v-if="isLoading">
<i <i
class="fa fa-spinner fa-spin" class="fa fa-spinner fa-spin"
aria-hidden="true" /> aria-hidden="true" />
Loading
Loading
Loading
@@ -34,6 +34,7 @@ describe('Pipelines table in Commits and Merge requests', () => {
Loading
@@ -34,6 +34,7 @@ describe('Pipelines table in Commits and Merge requests', () => {
   
setTimeout(() => { setTimeout(() => {
expect(component.$el.querySelector('.empty-state')).toBeDefined(); expect(component.$el.querySelector('.empty-state')).toBeDefined();
expect(component.$el.querySelector('.realtime-loading')).toBe(null);
done(); done();
}, 1); }, 1);
}); });
Loading
@@ -63,6 +64,7 @@ describe('Pipelines table in Commits and Merge requests', () => {
Loading
@@ -63,6 +64,7 @@ describe('Pipelines table in Commits and Merge requests', () => {
   
setTimeout(() => { setTimeout(() => {
expect(component.$el.querySelectorAll('table > tbody > tr').length).toEqual(1); expect(component.$el.querySelectorAll('table > tbody > tr').length).toEqual(1);
expect(component.$el.querySelector('.realtime-loading')).toBe(null);
done(); done();
}, 0); }, 0);
}); });
Loading
@@ -93,6 +95,7 @@ describe('Pipelines table in Commits and Merge requests', () => {
Loading
@@ -93,6 +95,7 @@ describe('Pipelines table in Commits and Merge requests', () => {
   
setTimeout(() => { setTimeout(() => {
expect(component.$el.querySelector('.js-pipelines-error-state')).toBeDefined(); expect(component.$el.querySelector('.js-pipelines-error-state')).toBeDefined();
expect(component.$el.querySelector('.realtime-loading')).toBe(null);
done(); done();
}, 0); }, 0);
}); });
Loading
Loading
Loading
@@ -41,6 +41,7 @@ describe('Pipelines', () => {
Loading
@@ -41,6 +41,7 @@ describe('Pipelines', () => {
   
setTimeout(() => { setTimeout(() => {
expect(component.$el.querySelector('.table-holder')).toBeDefined(); expect(component.$el.querySelector('.table-holder')).toBeDefined();
expect(component.$el.querySelector('.realtime-loading')).toBe(null);
done(); done();
}); });
}); });
Loading
@@ -72,6 +73,7 @@ describe('Pipelines', () => {
Loading
@@ -72,6 +73,7 @@ describe('Pipelines', () => {
   
setTimeout(() => { setTimeout(() => {
expect(component.$el.querySelector('.empty-state')).toBeDefined(); expect(component.$el.querySelector('.empty-state')).toBeDefined();
expect(component.$el.querySelector('.realtime-loading')).toBe(null);
done(); done();
}); });
}); });
Loading
@@ -104,6 +106,7 @@ describe('Pipelines', () => {
Loading
@@ -104,6 +106,7 @@ describe('Pipelines', () => {
   
setTimeout(() => { setTimeout(() => {
expect(component.$el.querySelector('.js-pipelines-error-state')).toBeDefined(); expect(component.$el.querySelector('.js-pipelines-error-state')).toBeDefined();
expect(component.$el.querySelector('.realtime-loading')).toBe(null);
done(); done();
}); });
}); });
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment