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 2021/07/01 17:03:05 UTC
[airavata-django-portal] 01/05: AIRAVATA-3453 Adding Save and
Launch button, with styling
This is an automated email from the ASF dual-hosted git repository.
machristie pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata-django-portal.git
commit 4392395662b5dbf49be80a2d77799e492f5416b1
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Thu Jun 24 16:42:42 2021 -0400
AIRAVATA-3453 Adding Save and Launch button, with styling
---
.../js/web-components/ExperimentEditor.vue | 24 ++++++++++++++++++++--
.../js/web-components/ResourceSelectionEditor.vue | 9 +++++++-
.../js/web-components/store.js | 6 ++++++
3 files changed, 36 insertions(+), 3 deletions(-)
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/web-components/ExperimentEditor.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/web-components/ExperimentEditor.vue
index 7cfa7f2..291bb29 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/web-components/ExperimentEditor.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/web-components/ExperimentEditor.vue
@@ -34,7 +34,19 @@
</slot>
</div>
<slot name="save-button">
- <button type="submit" name="save-experiment-button">Save</button>
+ <div class="d-flex justify-content-end">
+ <b-button
+ type="submit"
+ variant="success"
+ name="save-and-launch-experiment-button"
+ class="mr-2"
+ >
+ Save and Launch
+ </b-button>
+ <b-button type="submit" variant="primary" name="save-experiment-button">
+ Save
+ </b-button>
+ </div>
</slot>
</form>
</template>
@@ -45,6 +57,7 @@ import {
getApplicationInterfaceForModule,
saveExperiment,
getExperiment,
+ launchExperiment,
} from "./store";
import Vue from "vue";
@@ -118,7 +131,7 @@ export default {
const [userConfigurationData] = event.detail;
this.experiment.userConfigurationData = userConfigurationData;
},
- onSubmit(event) {
+ async onSubmit(event) {
// console.log(event);
// 'save' event is cancelable. Listener can call .preventDefault() on the event to cancel.
// composed: true allows the shadow DOM event to bubble up through the shadow root.
@@ -135,6 +148,8 @@ export default {
this.saveExperiment();
} else {
// Default submit button handling is save and launch
+ const experiment = await this.saveExperiment();
+ await launchExperiment(experiment.experimentId);
}
},
async saveExperiment() {
@@ -161,4 +176,9 @@ export default {
<style>
@import "./styles.css";
+
+:host {
+ display: block;
+ margin-bottom: 1em;
+}
</style>
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/web-components/ResourceSelectionEditor.vue b/django_airavata/apps/workspace/static/django_airavata_workspace/js/web-components/ResourceSelectionEditor.vue
index 1cf0426..a90c893 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/web-components/ResourceSelectionEditor.vue
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/web-components/ResourceSelectionEditor.vue
@@ -412,4 +412,11 @@ export default {
};
</script>
-<style></style>
+<style>
+@import "./styles.css";
+
+:host {
+ display: block;
+ margin-bottom: 1rem;
+}
+</style>
diff --git a/django_airavata/apps/workspace/static/django_airavata_workspace/js/web-components/store.js b/django_airavata/apps/workspace/static/django_airavata_workspace/js/web-components/store.js
index 5007bdf..c14469a 100644
--- a/django_airavata/apps/workspace/static/django_airavata_workspace/js/web-components/store.js
+++ b/django_airavata/apps/workspace/static/django_airavata_workspace/js/web-components/store.js
@@ -35,6 +35,12 @@ export async function saveExperiment(experiment) {
}
}
+export async function launchExperiment(experimentId) {
+ return await services.ExperimentService.launch({
+ lookup: experimentId,
+ });
+}
+
export async function getWorkspacePreferences() {
if (!CACHE.WORKSPACE_PREFERENCES) {
CACHE.WORKSPACE_PREFERENCES = services.WorkspacePreferencesService.get();