Calendar: allow to subscribe/unsubscribe to personal events + improve info about invitations/subscriptions
parent
b1afcb0251
commit
007514dd66
@ -0,0 +1,19 @@ |
||||
.calendar-event-info { |
||||
@apply flex flex-col space-y-4; |
||||
|
||||
.invitations-info { |
||||
@apply space-y-2; |
||||
|
||||
&__title { |
||||
@apply text-gray-50 mb-3; |
||||
} |
||||
|
||||
&__item { |
||||
@apply flex text-body-2 flex-row justify-between; |
||||
|
||||
p { |
||||
@apply first:font-semibold; |
||||
} |
||||
} |
||||
} |
||||
} |
@ -0,0 +1,32 @@ |
||||
<script setup> |
||||
import ShowLinks from "../resource_links/ShowLinks.vue" |
||||
|
||||
defineProps({ |
||||
event: { |
||||
type: Object, |
||||
required: true, |
||||
}, |
||||
}) |
||||
</script> |
||||
|
||||
<template> |
||||
<div class="invitations-info"> |
||||
<h6 |
||||
v-t="'Invitations'" |
||||
class="invitations-info__title" |
||||
/> |
||||
|
||||
<div |
||||
v-if="event.resourceLinkListFromEntity.length" |
||||
class="invitations-info__item" |
||||
> |
||||
<p v-t="'Invitees'" /> |
||||
<div> |
||||
<ShowLinks |
||||
:item="event" |
||||
:show-status="false" |
||||
/> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</template> |
@ -0,0 +1,69 @@ |
||||
<script setup> |
||||
import ShowLinks from "../resource_links/ShowLinks.vue" |
||||
import { subscriptionVisibility } from "../../constants/entity/ccalendarevent" |
||||
|
||||
defineProps({ |
||||
event: { |
||||
type: Object, |
||||
required: true, |
||||
}, |
||||
}) |
||||
</script> |
||||
|
||||
<template> |
||||
<div class="invitations-info"> |
||||
<h6 |
||||
v-t="'Subscriptions'" |
||||
class="invitations-info__title" |
||||
/> |
||||
|
||||
<div class="invitations-info__item"> |
||||
<p v-t="'Allow subscriptions'" /> |
||||
<p |
||||
v-if="subscriptionVisibility.no === event.subscriptionVisibility" |
||||
v-text="'No'" |
||||
/> |
||||
<p |
||||
v-else-if="subscriptionVisibility.all === event.subscriptionVisibility" |
||||
v-text="'All system users'" |
||||
/> |
||||
<p |
||||
v-else-if="subscriptionVisibility.class === event.subscriptionVisibility" |
||||
v-text="'Users inside the class'" |
||||
/> |
||||
<p |
||||
v-if="subscriptionVisibility.class === event.subscriptionVisibility" |
||||
v-text="event.subscriptionItemTitle" |
||||
/> |
||||
</div> |
||||
|
||||
<div |
||||
v-if="event.maxAttendees" |
||||
class="invitations-info__item" |
||||
> |
||||
<p v-t="'Maximum number of subscriptions'" /> |
||||
<p v-text="event.maxAttendees" /> |
||||
</div> |
||||
|
||||
<div |
||||
v-if="event.maxAttendees" |
||||
class="invitations-info__item" |
||||
> |
||||
<p v-t="'Subscriptions count'" /> |
||||
<p v-text="event.resourceLinkListFromEntity.length" /> |
||||
</div> |
||||
|
||||
<div |
||||
v-if="event.resourceLinkListFromEntity.length" |
||||
class="invitations-info__item" |
||||
> |
||||
<p v-t="'Subscribers'" /> |
||||
<div> |
||||
<ShowLinks |
||||
:item="event" |
||||
:show-status="false" |
||||
/> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</template> |
@ -0,0 +1,5 @@ |
||||
import { post } from "./baseService" |
||||
|
||||
export default { |
||||
post, |
||||
} |
Loading…
Reference in new issue