Add Etherpad Integration
Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
parent
639309ed92
commit
ae31835923
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>
|
|
@ -1139,5 +1139,8 @@
|
||||||
"Google Meet": "Google Meet",
|
"Google Meet": "Google Meet",
|
||||||
"The Google Meet video teleconference URL": "The Google Meet video teleconference URL",
|
"The Google Meet video teleconference URL": "The Google Meet video teleconference URL",
|
||||||
"Big Blue Button": "Big Blue Button",
|
"Big Blue Button": "Big Blue Button",
|
||||||
"The Big Blue Button video teleconference URL": "The Big Blue Button video teleconference URL"
|
"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"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1230,5 +1230,8 @@
|
||||||
"Google Meet": "Google Meet",
|
"Google Meet": "Google Meet",
|
||||||
"The Google Meet video teleconference URL": "L'URL de visio-conférence Google Meet",
|
"The Google Meet video teleconference URL": "L'URL de visio-conférence Google Meet",
|
||||||
"Big Blue Button": "Big Blue Button",
|
"Big Blue Button": "Big Blue Button",
|
||||||
"The Big Blue Button video teleconference URL": "L'URL de visio-conférence 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",
|
||||||
|
|
|
@ -537,6 +537,10 @@ import { eventMetaDataList } from "../../services/EventMetadata";
|
||||||
import(
|
import(
|
||||||
/* webpackChunkName: "JitsiMeetIntegration" */ "../../components/Event/Integrations/JitsiMeet.vue"
|
/* webpackChunkName: "JitsiMeetIntegration" */ "../../components/Event/Integrations/JitsiMeet.vue"
|
||||||
),
|
),
|
||||||
|
"integration-etherpad": () =>
|
||||||
|
import(
|
||||||
|
/* webpackChunkName: "EtherpadIntegration" */ "../../components/Event/Integrations/Etherpad.vue"
|
||||||
|
),
|
||||||
},
|
},
|
||||||
apollo: {
|
apollo: {
|
||||||
event: {
|
event: {
|
||||||
|
@ -1092,6 +1096,7 @@ export default class Event extends EventMixin {
|
||||||
"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: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