This is an automated email from the ASF dual-hosted git repository. machristie pushed a commit to branch delta-topology-workshop in repository https://gitbox.apache.org/repos/asf/airavata-django-portal.git
commit 9e8f1255184e3835131ad9e2d7cfbd3fa030e1f7 Merge: 1bebf23 22e6159 Author: Marcus Christie <[email protected]> AuthorDate: Mon Mar 21 09:30:29 2022 -0400 Merge branch 'master' into delta-topology-workshop .../applications/ApplicationOutputFieldEditor.vue | 7 + django_airavata/apps/api/serializers.py | 67 +++++- .../js/models/IntermediateOutput.js | 21 ++ .../js/models/OutputDataObjectType.js | 5 + .../django_airavata_api/js/models/ProcessState.js | 12 +- .../django_airavata_api/js/models/ProcessStatus.js | 4 + .../django_airavata_api/js/service_config.js | 7 + django_airavata/apps/api/views.py | 12 ++ .../js/components/experiment/ExperimentSummary.vue | 134 ++++-------- .../output-displays/DefaultOutputDisplay.vue | 167 +++++++++++++- .../output-displays/OutputDisplayContainer.vue | 143 ++++++++++-- .../js/containers/ViewExperimentContainer.vue | 52 ----- .../js/entry-view-experiment.js | 37 ++-- .../django_airavata_workspace/js/store/index.js | 16 ++ .../js/store/modules/view-experiment.js | 240 +++++++++++++++++++++ requirements.txt | 4 +- 16 files changed, 730 insertions(+), 198 deletions(-) diff --cc django_airavata/apps/workspace/static/django_airavata_workspace/js/components/experiment/ExperimentSummary.vue index 2404600,ab10994..44904b9 --- 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 @@@ -491,35 -439,5 +447,27 @@@ export default : []; }, }, + watch: { - launching: function (val) { - if (val == true) { - this.initPollingExperiment(); - } - }, + async localFullExperiment() { + let vncInfo = document.createElement('div'); + vncInfo.textContent = "Please wait for the VNC URL to be available when the job is active."; + if (this.localFullExperiment.jobDetails && this.localFullExperiment.jobDetails.length > 0 && this.localFullExperiment.jobDetails[0].jobStatusStateName === 'ACTIVE') { + const url = `/static/vnc/${encodeURIComponent(this.localFullExperiment.jobDetails[0].jobName)}.html`; + // Check that the html file exists + const response = await fetch(url); + if (response.ok) { + // Copy all children from the HTML file's body tag and replace vncInfo + const parser = new DOMParser(); + const doc = parser.parseFromString(await response.text(), 'text/html'); + vncInfo = document.createElement('div'); + for (const child of doc.querySelector('body').children) { + vncInfo.append(child); + } + } + } + this.$refs.vncInfo.innerHTML = ''; // clear all contents + this.$refs.vncInfo.append(vncInfo); + } + }, - mounted: function () { - this.initPollingExperiment(); - }, }; </script>
