Commit 41bedd9c authored by Filipa Lacerda's avatar Filipa Lacerda

Creates mixin to hold data common to both environments apps

parent 8fd95496
...@@ -9,6 +9,7 @@ import tablePagination from '../../vue_shared/components/table_pagination.vue'; ...@@ -9,6 +9,7 @@ import tablePagination from '../../vue_shared/components/table_pagination.vue';
import '../../lib/utils/common_utils'; import '../../lib/utils/common_utils';
import eventHub from '../event_hub'; import eventHub from '../event_hub';
import Poll from '../../lib/utils/poll'; import Poll from '../../lib/utils/poll';
import environmentsMixin from '../mixins/environments_mixin';
export default { export default {
...@@ -18,6 +19,10 @@ export default { ...@@ -18,6 +19,10 @@ export default {
loadingIcon, loadingIcon,
}, },
mixins: [
environmentsMixin,
],
data() { data() {
const environmentsData = document.querySelector('#environments-list-view').dataset; const environmentsData = document.querySelector('#environments-list-view').dataset;
const store = new EnvironmentsStore(); const store = new EnvironmentsStore();
...@@ -169,19 +174,9 @@ export default { ...@@ -169,19 +174,9 @@ export default {
}, },
successCallback(resp) { successCallback(resp) {
const response = { this.saveData(resp);
headers: resp.headers,
body: resp.json(),
};
this.isLoading = false;
this.store.storeAvailableCount(response.body.available_count);
this.store.storeStoppedCount(response.body.stopped_count);
this.store.storeEnvironments(response.body.environments);
this.store.setPagination(response.headers);
// If it were any open folders while polling we need to set them open again // If folders are open while polling we need to open them again
if (this.openFolders.length) { if (this.openFolders.length) {
this.openFolders.map((folder) => { this.openFolders.map((folder) => {
// TODO - Move this to the backend // TODO - Move this to the backend
......
...@@ -8,8 +8,8 @@ import loadingIcon from '../../vue_shared/components/loading_icon.vue'; ...@@ -8,8 +8,8 @@ import loadingIcon from '../../vue_shared/components/loading_icon.vue';
import tablePagination from '../../vue_shared/components/table_pagination.vue'; import tablePagination from '../../vue_shared/components/table_pagination.vue';
import Poll from '../../lib/utils/poll'; import Poll from '../../lib/utils/poll';
import eventHub from '../event_hub'; import eventHub from '../event_hub';
import environmentsMixin from '../mixins/environments_mixin';
import '../../lib/utils/common_utils'; import '../../lib/utils/common_utils';
import '../../vue_shared/vue_resource_interceptor';
export default { export default {
components: { components: {
...@@ -18,6 +18,10 @@ export default { ...@@ -18,6 +18,10 @@ export default {
loadingIcon, loadingIcon,
}, },
mixins: [
environmentsMixin,
],
data() { data() {
const environmentsData = document.querySelector('#environments-folder-list-view').dataset; const environmentsData = document.querySelector('#environments-folder-list-view').dataset;
const store = new EnvironmentsStore(); const store = new EnvironmentsStore();
...@@ -139,17 +143,7 @@ export default { ...@@ -139,17 +143,7 @@ export default {
}, },
successCallback(resp) { successCallback(resp) {
const response = { this.saveData(resp);
headers: resp.headers,
body: resp.json(),
};
this.isLoading = false;
this.store.storeAvailableCount(response.body.available_count);
this.store.storeStoppedCount(response.body.stopped_count);
this.store.storeEnvironments(response.body.environments);
this.store.setPagination(response.headers);
}, },
errorCallback() { errorCallback() {
......
export default {
methods: {
saveData(resp) {
const response = {
headers: resp.headers,
body: resp.json(),
};
this.isLoading = false;
this.store.storeAvailableCount(response.body.available_count);
this.store.storeStoppedCount(response.body.stopped_count);
this.store.storeEnvironments(response.body.environments);
this.store.setPagination(response.headers);
},
},
};
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