WIP: ATTENDEE prop support #46
2 changed files with 27 additions and 1 deletions
|
@ -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·e{#if event.extendedProps.speakers.size > 1}·s{/if} :</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">
|
||||
|
|
|
@ -227,7 +227,17 @@ class Calendar {
|
|||
_parse_vevent(vevent) {
|
||||
const event = {}
|
||||
vevent.forEach(elt => {
|
||||
event[elt[0]] = elt[3]
|
||||
switch (elt[0]) {
|
||||
case "attendee":
|
||||
if (event[elt[0]] === undefined) event[elt[0]] = []
|
||||
event[elt[0]].push({
|
||||
props: elt[1],
|
||||
val: elt[3]
|
||||
})
|
||||
break
|
||||
default:
|
||||
event[elt[0]] = elt[3]
|
||||
}
|
||||
})
|
||||
return event
|
||||
}
|
||||
|
@ -280,6 +290,10 @@ function fcEventFromjCalEvent(cal) {
|
|||
fcEvent.classNames = [`st-${evt.status.toLowerCase()}`]
|
||||
}
|
||||
|
||||
if (evt.attendee) {
|
||||
fcEvent.speakers = evt.attendee.filter(a => a.prop.cn && a.prop.role === "REQ-PARTICIPANT")
|
||||
}
|
||||
|
||||
if (evt.rrule) {
|
||||
const { freq, byday, interval } = evt.rrule
|
||||
fcEvent.rrule = {
|
||||
|
|
Loading…
Reference in a new issue