forked from potsda.mn/mobilizon
Merge branch 'add-visio-metadata' into 'master'
Add some visio services to preconfigured metadata See merge request framasoft/mobilizon!1037
This commit is contained in:
commit
7403bbbd60
|
@ -140,6 +140,9 @@ export default class EventMetadataList extends Vue {
|
||||||
[EventMetadataCategories.SOCIAL]: this.$t("Social") as string,
|
[EventMetadataCategories.SOCIAL]: this.$t("Social") as string,
|
||||||
[EventMetadataCategories.DETAILS]: this.$t("Details") as string,
|
[EventMetadataCategories.DETAILS]: this.$t("Details") as string,
|
||||||
[EventMetadataCategories.BOOKING]: this.$t("Booking") as string,
|
[EventMetadataCategories.BOOKING]: this.$t("Booking") as string,
|
||||||
|
[EventMetadataCategories.VIDEO_CONFERENCE]: this.$t(
|
||||||
|
"Video Conference"
|
||||||
|
) as string,
|
||||||
};
|
};
|
||||||
|
|
||||||
get filteredDataArray(): GroupedIEventMetadata {
|
get filteredDataArray(): GroupedIEventMetadata {
|
||||||
|
|
38
js/src/components/Event/Integrations/Etherpad.vue
Normal file
38
js/src/components/Event/Integrations/Etherpad.vue
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
<template>
|
||||||
|
<div class="etherpad">
|
||||||
|
<div class="etherpad-container" v-if="metadata">
|
||||||
|
<iframe
|
||||||
|
:src="`${metadata.value}?showChat=false&showLineNumbers=false`"
|
||||||
|
width="600"
|
||||||
|
height="400"
|
||||||
|
></iframe>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script lang="ts">
|
||||||
|
import { IEventMetadataDescription } from "@/types/event-metadata";
|
||||||
|
import { PropType } from "vue";
|
||||||
|
import { Component, Prop, Vue } from "vue-property-decorator";
|
||||||
|
|
||||||
|
@Component
|
||||||
|
export default class EtherpadIntegration extends Vue {
|
||||||
|
@Prop({ type: Object as PropType<IEventMetadataDescription>, required: true })
|
||||||
|
metadata!: IEventMetadataDescription;
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.etherpad {
|
||||||
|
.etherpad-container {
|
||||||
|
padding-top: 56.25%;
|
||||||
|
position: relative;
|
||||||
|
height: 0;
|
||||||
|
|
||||||
|
iframe {
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
38
js/src/components/Event/Integrations/JitsiMeet.vue
Normal file
38
js/src/components/Event/Integrations/JitsiMeet.vue
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
<template>
|
||||||
|
<div class="jitsi-meet">
|
||||||
|
<div class="jitsi-meet-video" v-if="metadata">
|
||||||
|
<iframe
|
||||||
|
allow="camera; microphone; fullscreen; display-capture; autoplay"
|
||||||
|
:src="metadata.value"
|
||||||
|
style="height: 100%; width: 100%; border: 0px"
|
||||||
|
></iframe>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script lang="ts">
|
||||||
|
import { IEventMetadataDescription } from "@/types/event-metadata";
|
||||||
|
import { PropType } from "vue";
|
||||||
|
import { Component, Prop, Vue } from "vue-property-decorator";
|
||||||
|
|
||||||
|
@Component
|
||||||
|
export default class JitsiMeetIntegration extends Vue {
|
||||||
|
@Prop({ type: Object as PropType<IEventMetadataDescription>, required: true })
|
||||||
|
metadata!: IEventMetadataDescription;
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.jitsi-meet {
|
||||||
|
.jitsi-meet-video {
|
||||||
|
padding-top: 56.25%;
|
||||||
|
position: relative;
|
||||||
|
height: 0;
|
||||||
|
|
||||||
|
iframe {
|
||||||
|
position: absolute;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -1128,5 +1128,19 @@
|
||||||
"Redirecting in progress…": "Redirecting in progress…",
|
"Redirecting in progress…": "Redirecting in progress…",
|
||||||
"Zoom in": "Zoom in",
|
"Zoom in": "Zoom in",
|
||||||
"Zoom out": "Zoom out",
|
"Zoom out": "Zoom out",
|
||||||
"Show me where I am": "Show me where I am"
|
"Show me where I am": "Show me where I am",
|
||||||
|
"Video Conference": "Video Conference",
|
||||||
|
"Jisti Meet": "Jisti Meet",
|
||||||
|
"The Jitsi Meet video teleconference URL": "The Jitsi Meet video teleconference URL",
|
||||||
|
"Zoom": "Zoom",
|
||||||
|
"The Zoom video teleconference URL": "The Zoom video teleconference URL",
|
||||||
|
"Microsoft Teams": "Microsoft Teams",
|
||||||
|
"The Microsoft Teams video teleconference URL": "The Microsoft Teams video teleconference URL",
|
||||||
|
"Google Meet": "Google Meet",
|
||||||
|
"The Google Meet video teleconference URL": "The Google Meet video teleconference URL",
|
||||||
|
"Big Blue Button": "Big Blue Button",
|
||||||
|
"The Big Blue Button video teleconference URL": "The Big Blue Button video teleconference URL",
|
||||||
|
"Etherpad notes": "Etherpad notes",
|
||||||
|
"The URL of a pad where notes are being taken collaboratively": "The URL of a pad where notes are being taken collaboratively",
|
||||||
|
"https://mensuel.framapad.org/p/some-secret-token": "https://mensuel.framapad.org/p/some-secret-token"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1219,5 +1219,19 @@
|
||||||
"Redirecting in progress…": "Redirection en cours…",
|
"Redirecting in progress…": "Redirection en cours…",
|
||||||
"Zoom in": "Zoomer",
|
"Zoom in": "Zoomer",
|
||||||
"Zoom out": "Dézoomer",
|
"Zoom out": "Dézoomer",
|
||||||
"Show me where I am": "Afficher ma position"
|
"Show me where I am": "Afficher ma position",
|
||||||
|
"Video Conference": "Visio-conférence",
|
||||||
|
"Jisti Meet": "Jitsi Meet",
|
||||||
|
"The Jitsi Meet video teleconference URL": "L'URL de visio-conférence Jitsi Meet",
|
||||||
|
"Zoom": "Zoom",
|
||||||
|
"The Zoom video teleconference URL": "L'URL de visio-conférence Zoom",
|
||||||
|
"Microsoft Teams": "Microsoft Teams",
|
||||||
|
"The Microsoft Teams video teleconference URL": "L'URL de visio-conférence Microsoft Teams",
|
||||||
|
"Google Meet": "Google Meet",
|
||||||
|
"The Google Meet video teleconference URL": "L'URL de visio-conférence Google Meet",
|
||||||
|
"Big Blue Button": "Big Blue Button",
|
||||||
|
"The Big Blue Button video teleconference URL": "L'URL de visio-conférence Big Blue Button",
|
||||||
|
"Etherpad notes": "Notes sur Etherpad",
|
||||||
|
"The URL of a pad where notes are being taken collaboratively": "L'URL d'un pad où les notes sont prises collaborativement",
|
||||||
|
"https://mensuel.framapad.org/p/some-secret-token": "https://mensuel.framapad.org/p/un-jeton-secret"
|
||||||
}
|
}
|
||||||
|
|
|
@ -149,6 +149,21 @@ export const eventMetaDataList: IEventMetadataDescription[] = [
|
||||||
keyType: EventMetadataKeyType.URL,
|
keyType: EventMetadataKeyType.URL,
|
||||||
category: EventMetadataCategories.TOOLS,
|
category: EventMetadataCategories.TOOLS,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
icon: "file-document-edit",
|
||||||
|
key: "mz:notes:etherpad:url",
|
||||||
|
label: i18n.t("Etherpad notes") as string,
|
||||||
|
description: i18n.t(
|
||||||
|
"The URL of a pad where notes are being taken collaboratively"
|
||||||
|
) as string,
|
||||||
|
value: "",
|
||||||
|
placeholder: i18n.t(
|
||||||
|
"https://mensuel.framapad.org/p/some-secret-token"
|
||||||
|
) as string,
|
||||||
|
type: EventMetadataType.STRING,
|
||||||
|
keyType: EventMetadataKeyType.URL,
|
||||||
|
category: EventMetadataCategories.TOOLS,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
icon: "twitter",
|
icon: "twitter",
|
||||||
key: "mz:social:twitter:account",
|
key: "mz:social:twitter:account",
|
||||||
|
@ -209,4 +224,62 @@ export const eventMetaDataList: IEventMetadataDescription[] = [
|
||||||
keyType: EventMetadataKeyType.URL,
|
keyType: EventMetadataKeyType.URL,
|
||||||
category: EventMetadataCategories.DETAILS,
|
category: EventMetadataCategories.DETAILS,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
icon: "webcam",
|
||||||
|
key: "mz:visio:jitsi_meet",
|
||||||
|
label: i18n.t("Jisti Meet") as string,
|
||||||
|
description: i18n.t("The Jitsi Meet video teleconference URL") as string,
|
||||||
|
value: "",
|
||||||
|
type: EventMetadataType.STRING,
|
||||||
|
keyType: EventMetadataKeyType.URL,
|
||||||
|
category: EventMetadataCategories.VIDEO_CONFERENCE,
|
||||||
|
placeholder: "https://meet.jit.si/AFewWords",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: "webcam",
|
||||||
|
key: "mz:visio:zoom",
|
||||||
|
label: i18n.t("Zoom") as string,
|
||||||
|
description: i18n.t("The Zoom video teleconference URL") as string,
|
||||||
|
value: "",
|
||||||
|
type: EventMetadataType.STRING,
|
||||||
|
keyType: EventMetadataKeyType.URL,
|
||||||
|
category: EventMetadataCategories.VIDEO_CONFERENCE,
|
||||||
|
pattern: /https:\/\/.*\.?zoom.us\/.*/,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: "microsoft-teams",
|
||||||
|
key: "mz:visio:microsoft_teams",
|
||||||
|
label: i18n.t("Microsoft Teams") as string,
|
||||||
|
description: i18n.t(
|
||||||
|
"The Microsoft Teams video teleconference URL"
|
||||||
|
) as string,
|
||||||
|
value: "",
|
||||||
|
type: EventMetadataType.STRING,
|
||||||
|
keyType: EventMetadataKeyType.URL,
|
||||||
|
category: EventMetadataCategories.VIDEO_CONFERENCE,
|
||||||
|
pattern: /https:\/\/teams\.live\.com\/meet\/.+/,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: "google-hangouts",
|
||||||
|
key: "mz:visio:google_meet",
|
||||||
|
label: i18n.t("Google Meet") as string,
|
||||||
|
description: i18n.t("The Google Meet video teleconference URL") as string,
|
||||||
|
value: "",
|
||||||
|
type: EventMetadataType.STRING,
|
||||||
|
keyType: EventMetadataKeyType.URL,
|
||||||
|
category: EventMetadataCategories.VIDEO_CONFERENCE,
|
||||||
|
pattern: /https:\/\/meet\.google\.com\/.+/,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
icon: "webcam",
|
||||||
|
key: "mz:visio:big_blue_button",
|
||||||
|
label: i18n.t("Big Blue Button") as string,
|
||||||
|
description: i18n.t(
|
||||||
|
"The Big Blue Button video teleconference URL"
|
||||||
|
) as string,
|
||||||
|
value: "",
|
||||||
|
type: EventMetadataType.STRING,
|
||||||
|
keyType: EventMetadataKeyType.URL,
|
||||||
|
category: EventMetadataCategories.VIDEO_CONFERENCE,
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
|
@ -274,4 +274,5 @@ export enum EventMetadataCategories {
|
||||||
TOOLS = "TOOLS",
|
TOOLS = "TOOLS",
|
||||||
DETAILS = "DETAILS",
|
DETAILS = "DETAILS",
|
||||||
BOOKING = "BOOKING",
|
BOOKING = "BOOKING",
|
||||||
|
VIDEO_CONFERENCE = "VIDEO_CONFERENCE",
|
||||||
}
|
}
|
||||||
|
|
|
@ -533,6 +533,14 @@ import { eventMetaDataList } from "../../services/EventMetadata";
|
||||||
import(
|
import(
|
||||||
/* webpackChunkName: "YouTubeIntegration" */ "../../components/Event/Integrations/YouTube.vue"
|
/* webpackChunkName: "YouTubeIntegration" */ "../../components/Event/Integrations/YouTube.vue"
|
||||||
),
|
),
|
||||||
|
"integration-jitsi-meet": () =>
|
||||||
|
import(
|
||||||
|
/* webpackChunkName: "JitsiMeetIntegration" */ "../../components/Event/Integrations/JitsiMeet.vue"
|
||||||
|
),
|
||||||
|
"integration-etherpad": () =>
|
||||||
|
import(
|
||||||
|
/* webpackChunkName: "EtherpadIntegration" */ "../../components/Event/Integrations/Etherpad.vue"
|
||||||
|
),
|
||||||
},
|
},
|
||||||
apollo: {
|
apollo: {
|
||||||
event: {
|
event: {
|
||||||
|
@ -1087,6 +1095,8 @@ export default class Event extends EventMixin {
|
||||||
"mz:live:twitch:url": "integration-twitch",
|
"mz:live:twitch:url": "integration-twitch",
|
||||||
"mz:live:peertube:url": "integration-peertube",
|
"mz:live:peertube:url": "integration-peertube",
|
||||||
"mz:live:youtube:url": "integration-youtube",
|
"mz:live:youtube:url": "integration-youtube",
|
||||||
|
"mz:visio:jitsi_meet": "integration-jitsi-meet",
|
||||||
|
"mz:notes:etherpad:url": "integration-etherpad",
|
||||||
};
|
};
|
||||||
|
|
||||||
get integrations(): Record<string, IEventMetadataDescription> {
|
get integrations(): Record<string, IEventMetadataDescription> {
|
||||||
|
|
Loading…
Reference in a new issue