You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2019/04/10 20:32:09 UTC
[airavata-django-portal] branch master updated: AIRAVATA-2986
Disable spinner on experiment summary
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
The following commit(s) were added to refs/heads/master by this push:
new e6b8957 AIRAVATA-2986 Disable spinner on experiment summary
e6b8957 is described below
commit e6b89576afc8e5e44b19b73e23adc7279c178639
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Wed Apr 10 15:58:50 2019 -0400
AIRAVATA-2986 Disable spinner on experiment summary
---
.../api/static/django_airavata_api/js/index.js | 3 +-
.../django_airavata_api/js/service_config.js | 11 +++++++
.../js/services/ServiceFactory.js | 11 +++----
.../django_airavata_api/js/utils/FetchUtils.js | 35 ++++++++++++++--------
.../js/components/experiment/ExperimentSummary.vue | 5 ++--
.../js/containers/ViewExperimentContainer.vue | 2 +-
6 files changed, 45 insertions(+), 22 deletions(-)
diff --git a/django_airavata/apps/api/static/django_airavata_api/js/index.js b/django_airavata/apps/api/static/django_airavata_api/js/index.js
index 32e53d0..1af6f66 100644
--- a/django_airavata/apps/api/static/django_airavata_api/js/index.js
+++ b/django_airavata/apps/api/static/django_airavata_api/js/index.js
@@ -31,7 +31,6 @@ import StoragePreference from "./models/StoragePreference";
import SummaryType from "./models/SummaryType";
import UserPermission from "./models/UserPermission";
-import FullExperimentService from "./services/FullExperimentService";
import ProjectService from "./services/ProjectService";
import UserProfileService from "./services/UserProfileService";
import CloudJobSubmissionService from "./services/CloudJobSubmissionService";
@@ -97,7 +96,7 @@ const services = {
DataProductService: ServiceFactory.service("DataProducts"),
ExperimentSearchService: ServiceFactory.service("ExperimentSearch"),
ExperimentService: ServiceFactory.service("Experiments"),
- FullExperimentService,
+ FullExperimentService: ServiceFactory.service("FullExperiments"),
GatewayResourceProfileService: ServiceFactory.service(
"GatewayResourceProfiles"
),
diff --git a/django_airavata/apps/api/static/django_airavata_api/js/service_config.js b/django_airavata/apps/api/static/django_airavata_api/js/service_config.js
index 987db57..2adb6f2 100644
--- a/django_airavata/apps/api/static/django_airavata_api/js/service_config.js
+++ b/django_airavata/apps/api/static/django_airavata_api/js/service_config.js
@@ -7,6 +7,7 @@ import CredentialSummary from "./models/CredentialSummary";
import DataProduct from "./models/DataProduct";
import Experiment from "./models/Experiment";
import ExperimentSummary from "./models/ExperimentSummary";
+import FullExperiment from "./models/FullExperiment";
import GatewayResourceProfile from "./models/GatewayResourceProfile";
import Group from "./models/Group";
import GroupResourceProfile from "./models/GroupResourceProfile";
@@ -180,6 +181,16 @@ export default {
pagination: true,
queryParams: ["limit", "offset"]
},
+ FullExperiments: {
+ url: "/api/full-experiments",
+ viewSet: [
+ {
+ name: "retrieve",
+ initialDataParam: "initialFullExperimentData"
+ }
+ ],
+ modelClass: FullExperiment
+ },
GatewayResourceProfiles: {
url: "/api/gateway-resource-profiles/",
viewSet: true,
diff --git a/django_airavata/apps/api/static/django_airavata_api/js/services/ServiceFactory.js b/django_airavata/apps/api/static/django_airavata_api/js/services/ServiceFactory.js
index 702cb45..c409d33 100644
--- a/django_airavata/apps/api/static/django_airavata_api/js/services/ServiceFactory.js
+++ b/django_airavata/apps/api/static/django_airavata_api/js/services/ServiceFactory.js
@@ -198,7 +198,7 @@ class ServiceFactory {
let queryParamsMapping = parseQueryMapping(config.queryParams);
serviceObj[functionName] = function(
params = {},
- { ignoreErrors } = { ignoreErrors: false }
+ { ignoreErrors, showSpinner } = { ignoreErrors: false, showSpinner: true }
) {
let url = config.url;
let paramKeys = Object.keys(params);
@@ -258,22 +258,23 @@ class ServiceFactory {
switch (config.requestType.toLowerCase()) {
case postKey:
return FetchUtils.post(url, bodyParams, queryParams, {
- ignoreErrors
+ ignoreErrors,
+ showSpinner
}).then(resultHandler);
case getKey:
if (initialData) {
return Promise.resolve(paginationHandler(initialData));
} else {
- return FetchUtils.get(url, queryParams, { ignoreErrors }).then(
+ return FetchUtils.get(url, queryParams, { ignoreErrors, showSpinner }).then(
paginationHandler
);
}
case putKey:
- return FetchUtils.put(url, bodyParams, { ignoreErrors }).then(
+ return FetchUtils.put(url, bodyParams, { ignoreErrors, showSpinner }).then(
resultHandler
);
case delKey:
- return FetchUtils.delete(url, { ignoreErrors });
+ return FetchUtils.delete(url, { ignoreErrors, showSpinner });
}
};
}
diff --git a/django_airavata/apps/api/static/django_airavata_api/js/utils/FetchUtils.js b/django_airavata/apps/api/static/django_airavata_api/js/utils/FetchUtils.js
index ac40a4c..11efe6b 100644
--- a/django_airavata/apps/api/static/django_airavata_api/js/utils/FetchUtils.js
+++ b/django_airavata/apps/api/static/django_airavata_api/js/utils/FetchUtils.js
@@ -70,7 +70,7 @@ export default {
url,
body,
queryParams = "",
- { mediaType = "application/json", ignoreErrors = false } = {}
+ { mediaType = "application/json", ignoreErrors = false, showSpinner = true } = {}
) {
var headers = this.createHeaders(mediaType);
// Browsers automatically handle content type for FormData request bodies
@@ -86,13 +86,14 @@ export default {
: JSON.stringify(body),
headers: headers,
credentials: "same-origin",
- ignoreErrors
+ ignoreErrors,
+ showSpinner
});
},
put: function(
url,
body,
- { mediaType = "application/json", ignoreErrors = false } = {}
+ { mediaType = "application/json", ignoreErrors = false, showSpinner = true } = {}
) {
var headers = this.createHeaders(mediaType);
return this.processFetch(url, {
@@ -103,13 +104,14 @@ export default {
: JSON.stringify(body),
headers: headers,
credentials: "same-origin",
- ignoreErrors
+ ignoreErrors,
+ showSpinner
});
},
get: function(
url,
queryParams = "",
- { mediaType = "application/json", ignoreErrors = false } = {}
+ { mediaType = "application/json", ignoreErrors = false, showSpinner = true } = {}
) {
if (queryParams && typeof queryParams != "string") {
queryParams = Object.keys(queryParams)
@@ -127,16 +129,18 @@ export default {
method: "get",
headers: headers,
credentials: "same-origin",
- ignoreErrors
+ ignoreErrors,
+ showSpinner
});
},
- delete: function(url, { ignoreErrors = false } = {}) {
+ delete: function(url, { ignoreErrors = false, showSpinner = true } = {}) {
var headers = this.createHeaders();
return this.processFetch(url, {
method: "delete",
headers: headers,
credentials: "same-origin",
- ignoreErrors
+ ignoreErrors,
+ showSpinner
});
},
processFetch: function(
@@ -146,7 +150,8 @@ export default {
headers,
credentials = "same-origin",
body,
- ignoreErrors = false
+ ignoreErrors = false,
+ showSpinner = true
}
) {
const fetchConfig = {
@@ -157,11 +162,15 @@ export default {
if (body) {
fetchConfig.body = body;
}
- incrementCount();
+ if (showSpinner) {
+ incrementCount();
+ }
return fetch(url, fetchConfig)
.then(
response => {
- decrementCount();
+ if (showSpinner) {
+ decrementCount();
+ }
if (response.ok) {
// No response body
if (response.status === 204) {
@@ -200,7 +209,9 @@ export default {
}
},
error => {
- decrementCount();
+ if (showSpinner) {
+ decrementCount();
+ }
error.details = this.createErrorDetails({ url, body });
throw error;
}
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/ExperimentSummary.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/ExperimentSummary.vue
index 4ffa668..bcfbe3e 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/ExperimentSummary.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/ExperimentSummary.vue
@@ -212,8 +212,9 @@ export default {
},
methods: {
loadExperiment: function() {
- return services.FullExperimentService.get(
- this.localFullExperiment.experiment.experimentId
+ return services.FullExperimentService.retrieve(
+ { lookup: this.localFullExperiment.experiment.experimentId },
+ { showSpinner: false }
).then(exp => (this.localFullExperiment = exp));
},
initPollingExperiment: function() {
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/containers/ViewExperimentContainer.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/containers/ViewExperimentContainer.vue
index 94df0d6..a04e258 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/containers/ViewExperimentContainer.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/containers/ViewExperimentContainer.vue
@@ -32,7 +32,7 @@ export default {
computed: {
},
beforeMount: function () {
- services.FullExperimentService.get(this.initialFullExperimentData.experimentId, this.initialFullExperimentData)
+ services.FullExperimentService.retrieve({lookup: this.initialFullExperimentData.experimentId, initialFullExperimentData: this.initialFullExperimentData})
.then(exp => this.fullExperiment = exp);
}
}