AIRAVATA-3557 Don't show output view providers menu when executing
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 a2140a4..ab10994 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
@@ -29,12 +29,7 @@
<template v-for="output in experiment.experimentOutputs">
<div class="row" v-if="finishedOrExecuting" :key="output.name">
<div class="col">
- <output-display-container
- :experiment-output="output"
- :data-products="outputDataProducts[output.name]"
- :output-views="localFullExperiment.outputViews[output.name]"
- :experiment-id="experiment.experimentId"
- />
+ <output-display-container :experiment-output="output" />
</div>
</div>
</template>
@@ -268,10 +263,16 @@
<tr v-for="job in failedJobs" :key="job.jobId">
<th scope="row">Job Submission Response</th>
<td>
- <b-card v-if="job.stdOut" :header="job.jobName + ' STDOUT'">
+ <b-card
+ v-if="job.stdOut"
+ :header="job.jobName + ' STDOUT'"
+ >
<pre class="pre-scrollable">{{ job.stdOut }}</pre>
</b-card>
- <b-card v-if="job.stdErr" :header="job.jobName + ' STDERR'">
+ <b-card
+ v-if="job.stdErr"
+ :header="job.jobName + ' STDERR'"
+ >
<pre class="pre-scrollable">{{ job.stdErr }}</pre>
</b-card>
</td>
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/output-displays/OutputDisplayContainer.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/output-displays/OutputDisplayContainer.vue
index 2390048..df30a15 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/output-displays/OutputDisplayContainer.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/output-displays/OutputDisplayContainer.vue
@@ -24,7 +24,11 @@
:parameters="viewData.interactive"
@input="parametersUpdated"
/>
- <div slot="footer" v-if="dataProducts.length > 0 || isExecuting" class="d-flex justify-content-end align-items-baseline">
+ <div
+ slot="footer"
+ v-if="dataProducts.length > 0 || isExecuting"
+ class="d-flex justify-content-end align-items-baseline"
+ >
<template v-if="isExecuting">
<span class="small text-muted mr-2">
{{ fetchIntermediateOutputStatusMessage }}</span
@@ -36,7 +40,9 @@
</template>
<template v-else>
<!-- TODO: support downloading URI_COLLECTIONs as well -->
- <b-btn size="sm" :href="dataProducts[0].downloadURL + '&download'">Download</b-btn>
+ <b-btn size="sm" :href="dataProducts[0].downloadURL + '&download'"
+ >Download</b-btn
+ >
</template>
</div>
</b-card>
@@ -73,6 +79,15 @@
InteractiveParametersPanel,
},
created() {
+ // Only show the default output view while executing or if no output dataProducts
+ if (
+ this.outputViews.length > 0 &&
+ (!this.isFinished || this.dataProducts.length === 0)
+ ) {
+ this.currentViewIndex = this.outputViews.findIndex(
+ (ov) => ov["provider-id"] === "default"
+ );
+ }
if (this.providerId && this.providerId !== "default") {
this.loader = this.createLoader();
this.loader.load();
@@ -90,6 +105,7 @@
"outputDataProducts",
"experimentId",
"isExecuting",
+ "isFinished",
]),
outputViews() {
return this.fullExperiment
@@ -156,7 +172,11 @@
}
},
showMenu() {
- return this.outputViews.length > 1;
+ return (
+ this.isFinished &&
+ this.outputViews.length > 1 &&
+ this.dataProducts.length > 0
+ );
},
providerId() {
return this.currentView ? this.currentView["provider-id"] : null;
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/store/modules/view-experiment.js b/django_airavata/apps/workspace/static/django_airavata_workspace/js/store/modules/view-experiment.js
index 534fa6d..8f82b47 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/store/modules/view-experiment.js
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/store/modules/view-experiment.js
@@ -146,6 +146,8 @@
getters.experiment &&
getters.experiment.latestStatus &&
getters.experiment.latestStatus.state === ExperimentState.EXECUTING,
+ isFinished: (state, getters) =>
+ getters.experiment && getters.experiment.isFinished,
finishedOrExecuting: (state, getters) =>
getters.experiment &&
(getters.experiment.isFinished || getters.isExecuting),