WIP: ATTENDEE prop support #46

Draft
sinavir wants to merge 4 commits from mdebray/attendees into master
2 changed files with 25 additions and 1 deletions
Showing only changes of commit d4b4c2ba04 - Show all commits

View file

@ -40,11 +40,23 @@
</p>
{/if}
<p>
{#if event.extendedProps.description}
{@html md.render(event.extendedProps.description)}
{:else}
<i class="fs-7">Pas de description</i>
{/if}
</p>
{#if event.extendedProps.speakers}
<p class="fs-7 mb-1">
<strong>Intervenant&middot;e{#if event.extendedProps.speakers.size > 1}&middot;s{/if}&nbsp;:</strong>
</p>
<ul class="fs-7">
{#each event.extendedProps.speakers as s}
<li>{s.cn}</li>
{/each}
</ul>
{/if}
</ModalBody>
<ModalFooter class="justify-content-between">

View file

@ -227,7 +227,15 @@ class Calendar {
_parse_vevent(vevent) {
const event = {}
vevent.forEach(elt => {
event[elt[0]] = elt[3]
if (elt[0] == "attendee" && elt[1].cn && elt[1].role == "CHAIR") {
if (event[elt[0]] === undefined) event["speakers"] = []
event["speakers"].push({
cn: elt[1].cn,
cal-address: elt[3]
});
} else {
event[elt[0]] = elt[3]
}
})
return event
}
@ -280,6 +288,10 @@ function fcEventFromjCalEvent(cal) {
fcEvent.classNames = [`st-${evt.status.toLowerCase()}`]
}
if (evt.speakers) {
fcEvent.speakers = evt.speakers
}
if (evt.rrule) {
const { freq, byday, interval } = evt.rrule
fcEvent.rrule = {