From 20f622b69acb2f11e646c76f38daa7c4280a6b02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Romain=20D=C3=A9nari=C3=A9?= Date: Tue, 2 Jul 2024 17:19:39 +0200 Subject: [PATCH] fix: Improve Add a visioconference link with external video conference - EXO-70996 (#669) Before this fix, when the provider allow to modify the url of the visio, the url cannot be changed This commit add the possibility to update the visio url --- .../locale/portlet/Agenda_en.properties | 1 + .../src/main/webapp/skin/less/agenda.less | 19 ++++++ .../form/AgendaEventFormBasicInformation.vue | 18 ++---- .../event/form/AgendaEventFormConference.vue | 64 +++++++++++++++---- .../event/form/AgendaEventQuickFormDrawer.vue | 27 ++------ .../form/mobile/AgendaEventMobileForm.vue | 25 ++------ 6 files changed, 89 insertions(+), 65 deletions(-) diff --git a/agenda-webapps/src/main/resources/locale/portlet/Agenda_en.properties b/agenda-webapps/src/main/resources/locale/portlet/Agenda_en.properties index 78e0cad6f..24ee119bd 100644 --- a/agenda-webapps/src/main/resources/locale/portlet/Agenda_en.properties +++ b/agenda-webapps/src/main/resources/locale/portlet/Agenda_en.properties @@ -158,6 +158,7 @@ agenda.deleteEventConference=Delete conference agenda.createEventConference=Create conference agenda.webConferenceScheduled=Web conference scheduled agenda.webConferenceURL=Enter a link to the call of the event +agenda.webConferenceURL.warning=To avoid any video conference conflicts, we recommend to create a different link on your external video conference software. agenda.emptyWebConferenceProvider=No web conferencing provider agenda.webConferencingProviderSaved=Web conferencing provider saved. agenda.connectoInitializationFailed=Personal calendar connector initialization failed diff --git a/agenda-webapps/src/main/webapp/skin/less/agenda.less b/agenda-webapps/src/main/webapp/skin/less/agenda.less index ff337bd7f..639484822 100644 --- a/agenda-webapps/src/main/webapp/skin/less/agenda.less +++ b/agenda-webapps/src/main/webapp/skin/less/agenda.less @@ -106,6 +106,18 @@ .location-event-input { width: 500px; } + .webconference-event-input,.webconference-event-span { + width: 500px; + } + @media (max-width: @maxMobileWidth) { + .webconference-event-span { + max-width: ~"calc(100% - 36px)"; + } + + } + .max-width-fit { + max-width: 100% !important; + } label { cursor:default; @@ -232,6 +244,12 @@ input, textarea { max-width: ~"calc(100% - 64px)"; } + .webconference-event-span { + max-width: ~"calc(100% - 105px)"; + } + .webconference-event-span-without-cross { + max-width: ~"calc(100% - 64px)"; + } #eventTitle { min-width: ~"calc(100% - 20px)"; margin: 0 10px; @@ -839,4 +857,5 @@ } } } + } diff --git a/agenda-webapps/src/main/webapp/vue-app/agenda-common/components/event/form/AgendaEventFormBasicInformation.vue b/agenda-webapps/src/main/webapp/vue-app/agenda-common/components/event/form/AgendaEventFormBasicInformation.vue index bb5f1796d..d877df0a9 100644 --- a/agenda-webapps/src/main/webapp/vue-app/agenda-common/components/event/form/AgendaEventFormBasicInformation.vue +++ b/agenda-webapps/src/main/webapp/vue-app/agenda-common/components/event/form/AgendaEventFormBasicInformation.vue @@ -58,17 +58,13 @@ class="text-wrap ms-2" /> -
- fa-video -
- -
-
+
diff --git a/agenda-webapps/src/main/webapp/vue-app/agenda-common/components/event/form/AgendaEventFormConference.vue b/agenda-webapps/src/main/webapp/vue-app/agenda-common/components/event/form/AgendaEventFormConference.vue index bbfdfa4d8..b9792672d 100644 --- a/agenda-webapps/src/main/webapp/vue-app/agenda-common/components/event/form/AgendaEventFormConference.vue +++ b/agenda-webapps/src/main/webapp/vue-app/agenda-common/components/event/form/AgendaEventFormConference.vue @@ -1,15 +1,30 @@ @@ -68,14 +86,24 @@ export default { type: Object, default: () => null }, + iconClass: { + type: Object, + default: () => null, + }, }, data: () => ({ loading: false, conferenceURL: null, }), computed: { + isMobile() { + return this.$vuetify.breakpoint.name === 'xs' || this.$vuetify.breakpoint.name === 'sm'; + }, + marginClass() { + return this.isMobile ? 'my-0' : 'my-3'; + }, isConferenceEnabled() { - return this.conferenceProvider && (!this.eventConferenceType || this.conferenceProvider.getType() === this.eventConferenceType); + return this.conferenceProvider && (!this.eventConferenceType || this.conferenceProvider.getType() === this.eventConferenceType || this.eventConferenceType === 'manual'); }, eventConferences() { return this.event && this.event.conferences; @@ -109,7 +137,7 @@ export default { } }, mounted() { - if (this.isConferenceEnabled && this.event && this.event.conferences && this.event.conferences.length) { + if (this.event && this.event.conferences && this.event.conferences.length) { this.conferenceURL = this.event.conferences[0].url; } else { this.conferenceURL = null; @@ -121,9 +149,17 @@ export default { this.$set(this.event, 'conferences', [{ type: this.conferenceProvider.getType(), }]); + + if (this.conferenceProvider.canModifyEventUrl) { + this.conferenceProvider.getCallUrl(eXo.env.portal.spaceName).then(url => { + this.conferenceURL = url; + this.$set(this.event.conferences[0], 'url', url); + }); + } }, deleteCallURL() { this.$set(this.event, 'conferences', null); + this.conferenceURL = null; }, } }; diff --git a/agenda-webapps/src/main/webapp/vue-app/agenda-common/components/event/form/AgendaEventQuickFormDrawer.vue b/agenda-webapps/src/main/webapp/vue-app/agenda-common/components/event/form/AgendaEventQuickFormDrawer.vue index 3355d8548..ab8c44869 100644 --- a/agenda-webapps/src/main/webapp/vue-app/agenda-common/components/event/form/AgendaEventQuickFormDrawer.vue +++ b/agenda-webapps/src/main/webapp/vue-app/agenda-common/components/event/form/AgendaEventQuickFormDrawer.vue @@ -63,27 +63,12 @@ name="locationEvent" class="ignore-vuetify-classes my-3 location-event-input">
-
- - fa-video - - - -
+
diff --git a/agenda-webapps/src/main/webapp/vue-app/agenda-common/components/event/form/mobile/AgendaEventMobileForm.vue b/agenda-webapps/src/main/webapp/vue-app/agenda-common/components/event/form/mobile/AgendaEventMobileForm.vue index df33147bf..13c529f71 100644 --- a/agenda-webapps/src/main/webapp/vue-app/agenda-common/components/event/form/mobile/AgendaEventMobileForm.vue +++ b/agenda-webapps/src/main/webapp/vue-app/agenda-common/components/event/form/mobile/AgendaEventMobileForm.vue @@ -77,24 +77,11 @@ -
- - -
+ @@ -258,4 +245,4 @@ export default { }, } }; - \ No newline at end of file +