This is an automated email from the ASF dual-hosted git repository. machristie pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/airavata-django-portal.git
commit 3c86d7b214a3fd9f1b6b3bb672b6ec30ccb50b3e Author: Marcus Christie <[email protected]> AuthorDate: Fri Sep 21 14:22:22 2018 -0400 AIRAVATA-2876 Remove Vuex store, load all modules in dashboard --- .../dashboards/ApplicationsDashboard.vue | 31 ++++++----- .../src/store/applications/app_deployments.js | 54 ------------------ .../src/store/applications/app_interfaces.js | 48 ---------------- .../src/store/applications/app_modules.js | 65 ---------------------- .../src/store/applications/index.js | 12 ---- .../django_airavata_admin/src/store/store.js | 20 +++---- 6 files changed, 25 insertions(+), 205 deletions(-) diff --git a/django_airavata/apps/admin/static/django_airavata_admin/src/components/dashboards/ApplicationsDashboard.vue b/django_airavata/apps/admin/static/django_airavata_admin/src/components/dashboards/ApplicationsDashboard.vue index cd8a58e..e876f56 100644 --- a/django_airavata/apps/admin/static/django_airavata_admin/src/components/dashboards/ApplicationsDashboard.vue +++ b/django_airavata/apps/admin/static/django_airavata_admin/src/components/dashboards/ApplicationsDashboard.vue @@ -2,7 +2,6 @@ <list-layout @add-new-item="newApplicationHandler" :items="sortedModules" title="Application Catalog" subtitle="Applications" new-item-button-text="New Application"> <template slot="item-list" slot-scope="slotProps"> - <div class="row"> <application-card v-for="item in slotProps.items" v-bind:app-module="item" v-bind:key="item.appModuleId" v-on:app-selected="clickHandler(item)"> </application-card> @@ -15,24 +14,26 @@ import { mapActions, mapState } from "vuex"; import { layouts, components as comps } from "django-airavata-common-ui"; -import { utils } from "django-airavata-api"; +import { services, utils } from "django-airavata-api"; export default { components: { "application-card": comps.ApplicationCard, "list-layout": layouts.ListLayout }, - mounted: function() { - if (!this.modules) { - this.loadApplications(); - } + data() { + return { + appModules: [] + }; + }, + created() { + this.loadApplications(); }, computed: { - ...mapState("applications/modules", ["modules"]), sortedModules() { - if (this.modules) { + if (this.appModules) { return utils.StringUtils.sortIgnoreCase( - this.modules.slice(), + this.appModules.slice(), a => a.appModuleName ); } else { @@ -41,18 +42,20 @@ export default { } }, methods: { - clickHandler: function(item) { + clickHandler(item) { this.$router.push({ name: "application_module", params: { id: item.appModuleId } }); }, - newApplicationHandler: function() { + newApplicationHandler() { this.$router.push({ name: "new_application_module" }); }, - ...mapActions({ - loadApplications: "applications/modules/loadApplicationModules" - }) + loadApplications() { + services.ApplicationModuleService.listAll().then( + appModules => (this.appModules = appModules) + ); + } } }; </script> diff --git a/django_airavata/apps/admin/static/django_airavata_admin/src/store/applications/app_deployments.js b/django_airavata/apps/admin/static/django_airavata_admin/src/store/applications/app_deployments.js deleted file mode 100644 index bc01af3..0000000 --- a/django_airavata/apps/admin/static/django_airavata_admin/src/store/applications/app_deployments.js +++ /dev/null @@ -1,54 +0,0 @@ -import { services, models } from 'django-airavata-api' - -export default { - namespaced: true, - state: { - currentDeployment: null, - deployments: null, - }, - mutations: { - setCurrentDeployment(state, currentDeployment) { - state.currentDeployment = currentDeployment; - }, - setDeployments(state, deployments) { - state.deployments = deployments; - } - }, - actions: { - loadApplicationDeployments({ commit }, appModuleId) { - return services.ApplicationModuleService.getApplicationDeployments({ lookup: appModuleId }) - .then(appDeployments => { - commit('setDeployments', appDeployments); - return appDeployments; - }); - }, - loadApplicationDeployment({ commit }, appDeploymentId) { - return services.ApplicationDeploymentService.retrieve({ lookup: appDeploymentId }) - .then(appDeployment => { - commit('setCurrentDeployment', appDeployment); - return appDeployment; - }); - }, - createApplicationDeployment({ commit }, appDeployment) { - return services.ApplicationDeploymentService.create({ data: appDeployment }) - .then(appDeployment => { - commit('setCurrentDeployment', appDeployment); - return appDeployment; - }); - }, - updateApplicationDeployment({ commit }, appDeployment) { - return services.ApplicationDeploymentService.update({ lookup: appDeployment.appDeploymentId, data: appDeployment }) - .then(appDeployment => { - commit('setCurrentDeployment', appDeployment); - return appDeployment; - }) - }, - deleteApplicationDeployment({ commit }, appDeployment) { - return services.ApplicationDeploymentService.delete({ lookup: appDeployment.appDeploymentId }) - .then(() => { - commit('setCurrentDeployment', null); - return null; - }); - } - } -} diff --git a/django_airavata/apps/admin/static/django_airavata_admin/src/store/applications/app_interfaces.js b/django_airavata/apps/admin/static/django_airavata_admin/src/store/applications/app_interfaces.js deleted file mode 100644 index c22094b..0000000 --- a/django_airavata/apps/admin/static/django_airavata_admin/src/store/applications/app_interfaces.js +++ /dev/null @@ -1,48 +0,0 @@ -import { services, models } from 'django-airavata-api' - -export default { - namespaced: true, - state: { - currentInterface: null, - }, - mutations: { - setCurrentInterface(state, currentInterface) { - state.currentInterface = currentInterface; - } - }, - actions: { - loadApplicationInterface({ commit }, appModuleId) { - // Otherwise fetch from the backend - return services.ApplicationModuleService.getApplicationInterface({ lookup: appModuleId }, { ignoreErrors: true }) - .then(appInterface => { - commit('setCurrentInterface', appInterface); - return appInterface; - }) - .catch(error => { - if (error.details.status === 404) { - // If there is no interface, just create a new instance - const appInterface = new models.ApplicationInterfaceDefinition({ userHasWriteAccess: true }); - appInterface.addStandardOutAndStandardErrorOutputs(); - commit('setCurrentInterface', appInterface); - return Promise.resolve(null); - } else { - throw error; - } - }); - }, - createApplicationInterface({ commit }, appInterface) { - return services.ApplicationInterfaceService.create({ data: appInterface }) - .then(appInterface => { - commit('setCurrentInterface', appInterface); - return appInterface; - }); - }, - updateApplicationInterface({ commit }, appInterface) { - return services.ApplicationInterfaceService.update({ lookup: appInterface.applicationInterfaceId, data: appInterface }) - .then(appInterface => { - commit('setCurrentInterface', appInterface); - return appInterface; - }) - } - } -} diff --git a/django_airavata/apps/admin/static/django_airavata_admin/src/store/applications/app_modules.js b/django_airavata/apps/admin/static/django_airavata_admin/src/store/applications/app_modules.js deleted file mode 100644 index e38320a..0000000 --- a/django_airavata/apps/admin/static/django_airavata_admin/src/store/applications/app_modules.js +++ /dev/null @@ -1,65 +0,0 @@ -import { services } from 'django-airavata-api' - -export default { - namespaced: true, - state: { - modules: null, - currentModule: null, - }, - mutations: { - setModules(state, modules) { - state.modules = modules; - }, - setModule(state, module) { - state.currentModule = module; - } - }, - actions: { - loadApplicationModules({ commit }) { - return services.ApplicationModuleService.listAll() - .then(appModules => { - commit('setModules', appModules); - return appModules; - }); - }, - loadApplicationModule({ commit, state }, appModuleId) { - if (state.modules) { - const appModule = state.modules.find(appModule => appModule.appModuleId === appModuleId); - if (appModule) { - commit('setModule', appModule); - return Promise.resolve(appModule); - } - } - // Otherwise fetch from the backend - return services.ApplicationModuleService.retrieve({ lookup: appModuleId }) - .then(appModule => { - commit('setModule', appModule); - return appModule; - }); - }, - createApplicationModule({ commit, state }, appModule) { - return services.ApplicationModuleService.create({ data: appModule }) - .then(appModule => { - commit('setModule', appModule); - if (state.modules) { - const appModulesCopy = state.modules.slice(); - appModulesCopy.push(appModule); - commit('setModules', appModulesCopy); - } - return appModule; - }); - }, - updateApplicationModule({ commit, state }, appModule) { - return services.ApplicationModuleService.update({ lookup: appModule.appModuleId, data: appModule }) - .then(appModule => { - commit('setModule', appModule); - if (state.modules) { - const appModules = state.modules.filter(mod => mod.appModuleId !== appModule.appModuleId) - appModules.push(appModule); - commit('setModules', appModules); - } - return appModule; - }) - } - } -} diff --git a/django_airavata/apps/admin/static/django_airavata_admin/src/store/applications/index.js b/django_airavata/apps/admin/static/django_airavata_admin/src/store/applications/index.js deleted file mode 100644 index 5a9bbdc..0000000 --- a/django_airavata/apps/admin/static/django_airavata_admin/src/store/applications/index.js +++ /dev/null @@ -1,12 +0,0 @@ -import interfaces from './app_interfaces' -import modules from './app_modules' -import deployments from './app_deployments' - -export default { - namespaced: true, - modules: { - interfaces, - modules, - deployments - } -} diff --git a/django_airavata/apps/admin/static/django_airavata_admin/src/store/store.js b/django_airavata/apps/admin/static/django_airavata_admin/src/store/store.js index 3082624..5a35cfa 100644 --- a/django_airavata/apps/admin/static/django_airavata_admin/src/store/store.js +++ b/django_airavata/apps/admin/static/django_airavata_admin/src/store/store.js @@ -1,23 +1,19 @@ -import Vuex from 'vuex'; -import Vue from 'vue'; +import Vuex from "vuex"; +import Vue from "vue"; -import newApplication from './newapplication/new_application' -import computeResource from './compute_resource_dashboard/compute_resource' -import applications from './applications/index' +import newApplication from "./newapplication/new_application"; +import computeResource from "./compute_resource_dashboard/compute_resource"; -import loading from './loading' +import loading from "./loading"; Vue.use(Vuex); - -const store={ - modules:{ +const store = { + modules: { newApplication, loading, - computeResource, - applications, + computeResource } }; export default new Vuex.Store(store); -
