From 2224ece3f780cb7968d974a00cdb6ec097711fbb Mon Sep 17 00:00:00 2001 From: Mateusz Gapski Date: Wed, 2 Sep 2020 17:00:06 +0200 Subject: Add loading image from external server Signed-off-by: Mateusz Gapski Change-Id: Ie9793b25fdee0f438d64aafe0978d75025800cb8 --- .../VirtualMedia/ModalConfigureConnection.vue | 142 +++++++++++++++++++++ src/views/Control/VirtualMedia/VirtualMedia.vue | 81 ++++++++++-- 2 files changed, 213 insertions(+), 10 deletions(-) create mode 100644 src/views/Control/VirtualMedia/ModalConfigureConnection.vue (limited to 'src/views') diff --git a/src/views/Control/VirtualMedia/ModalConfigureConnection.vue b/src/views/Control/VirtualMedia/ModalConfigureConnection.vue new file mode 100644 index 00000000..4401a04f --- /dev/null +++ b/src/views/Control/VirtualMedia/ModalConfigureConnection.vue @@ -0,0 +1,142 @@ + + + diff --git a/src/views/Control/VirtualMedia/VirtualMedia.vue b/src/views/Control/VirtualMedia/VirtualMedia.vue index a9a575d5..5460eb46 100644 --- a/src/views/Control/VirtualMedia/VirtualMedia.vue +++ b/src/views/Control/VirtualMedia/VirtualMedia.vue @@ -26,7 +26,7 @@ :disabled="!dev.file" @click="startVM(dev)" > - {{ 'Start' }} + {{ $t('pageVirtualMedia.start') }} - {{ 'Stop' }} + {{ $t('pageVirtualMedia.stop') }} @@ -57,17 +57,30 @@ :label-for="device.id" label-class="bold" > - + {{ $t('pageVirtualMedia.configureConnection') }} - {{ 'Start' }} + {{ $t('pageVirtualMedia.start') }} + + + {{ $t('pageVirtualMedia.stop') }} @@ -75,6 +88,10 @@ + @@ -83,14 +100,16 @@ import PageTitle from '@/components/Global/PageTitle'; import PageSection from '@/components/Global/PageSection'; import BVToastMixin from '@/components/Mixins/BVToastMixin'; import LoadingBarMixin from '@/components/Mixins/LoadingBarMixin'; +import ModalConfigureConnection from './ModalConfigureConnection'; import NbdServer from '@/utilities/NBDServer'; export default { name: 'VirtualMedia', - components: { PageTitle, PageSection }, + components: { PageTitle, PageSection, ModalConfigureConnection }, mixins: [BVToastMixin, LoadingBarMixin], data() { return { + modalConfigureConnection: null, loadImageFromExternalServer: process.env.VUE_APP_VIRTUAL_MEDIA_LIST_ENABLED === 'true' ? true : false }; @@ -142,11 +161,53 @@ export default { stopVM(device) { device.nbd.stop(); }, - startLegacy() { - console.log('starting legacy...'); + startLegacy(connectionData) { + var data = {}; + data.Image = connectionData.serverUri; + data.UserName = connectionData.username; + data.Password = connectionData.password; + data.WriteProtected = connectionData.isRW; + this.startLoader(); + this.$store + .dispatch('virtualMedia/mountImage', { + id: connectionData.id, + data: data + }) + .then(() => { + this.successToast( + this.$t('pageVirtualMedia.toast.serverClosedSuccessfully') + ); + connectionData.isActive = true; + }) + .catch(() => { + this.errorToast(this.$t('pageVirtualMedia.toast.errorMounting')); + this.isActive = false; + }) + .finally(() => this.endLoader()); + }, + stopLegacy(connectionData) { + this.$store + .dispatch('virtualMedia/unmountImage', connectionData.id) + .then(() => { + this.successToast( + this.$t('pageVirtualMedia.toast.serverClosedSuccessfully') + ); + connectionData.isActive = false; + }) + .catch(() => + this.errorToast(this.$t('pageVirtualMedia.toast.errorUnmounting')) + ) + .finally(() => this.endLoader()); + }, + saveConnection(connectionData) { + this.modalConfigureConnection.serverUri = connectionData.serverUri; + this.modalConfigureConnection.username = connectionData.username; + this.modalConfigureConnection.password = connectionData.password; + this.modalConfigureConnection.isRW = connectionData.isRW; }, - configureConnection() { - this.warningToast('This option is unavialable. We are working on it.'); + configureConnection(connectionData) { + this.modalConfigureConnection = connectionData; + this.$bvModal.show('configure-connection'); } } }; -- cgit v1.2.3